Gap-filling eddy covariance methane fluxes: Comparison of machine learning model predictions and uncertainties at FLUXNET-CH4 wetlands
Jeremy Irvin, Sharon Zhou, Gavin McNicol, Fred Lu, Vincent Liu, Etienne Fluet‐Chouinard, Zutao Ouyang, Sara Knox, Antje Lucas-Moffat, Carlo Trotta, Dario Papale, Domenico Vitale, Ivan Mammarella, Pavel Alekseychik, Mika Aurela, Anand Avati, Dennis Baldocchi, Sheel Bansal, Gil Bohrer, David I. Campbell, Jiquan Chen, Housen Chu, Higo J. Dalmagro, Kyle Delwiche, Ankur R. Desai, Eugénie Euskirchen, Sarah Féron, Mathias Goeckede, Martin Heimann, Manuel Helbig, Carole Helfter, Kyle S. Hemes, Takashi Hirano, Hiroyasu Iwata, Gerald Jurasinski, Aram Kalhori, Andrew Kondrich, Derrick Y.F. Lai, Annalea Lohila, Avni Malhotra, Lutz Merbold, Bhaskar Mitra, Andrew Y. Ng, Mats Nilsson, Asko Noormets, Matthias Peichl, Camilo Rey‐Sánchez, Andrew D. Richardson, Benjamin R. K. Runkle, Karina V. R. Schäfer, Oliver Sonnentag, Ellen Stuart-Haëntjens, Cove Sturtevant, Masahito Ueyama, Alex Valach, Rodrigo Vargas, George L. Vourlitis, Eric J. Ward, Guan Xhuan Wong, Donatella Zona, Ma. Carmelita R. Alberto, David P. Billesbach, Gerardo Celis, A. J. Dolman, Thomas Friborg, Kathrin Fuchs, Sébastien Gogo, Mangaliso J. Gondwe, Jordan P. Goodrich, Pia Gottschalk, Lukas Hörtnagl, Adrien Jacotot, Franziska Koebsch, Kuno Kasak, Regine Maier, Timothy H. Morin, Eiko Nemitz, Walter C. Oechel, Patricia Y. Oikawa, Kaori Ono, Torsten Sachs, Ayaka Sakabe, Edward A. G. Schuur, Robert Shortt, Ryan C. Sullivan, Daphne Szutu, Eeva‐Stiina Tuittila, Andrej Varlagin, Joeseph G. Verfaillie, Christian Wille, Lisamarie Windham‐Myers, Benjamin Poulter, Robert B. Jackson
Abstract
• We evaluate methane flux gap-filling methods across 17 boreal-to-tropical wetlands • New methods for generating realistic artificial gaps and uncertainties are proposed • Decision tree algorithms perform slightly better than neural networks on average • Soil temperature and generic seasonality are the most important predictors • Open-source code is released for gap-filling steps and uncertainty evaluation Time series of wetland methane fluxes measured by eddy covariance require gap-filling to estimate daily, seasonal, and annual emissions. Gap-filling methane fluxes is challenging because of high variability and complex responses to multiple drivers. To date, there is no widely established gap-filling standard for wetland methane fluxes, with regards both to the best model algorithms and predictors. This study synthesizes results of different gap-filling methods systematically applied at 17 wetland sites spanning boreal to tropical regions and including all major wetland classes and two rice paddies. Procedures are proposed for: 1) creating realistic artificial gap scenarios, 2) training and evaluating gap-filling models without overstating performance, and 3) predicting half-hourly methane fluxes and annual emissions with realistic uncertainty estimates. Performance is compared between a conventional method (marginal distribution sampling) and four machine learning algorithms. The conventional method achieved similar median performance as the machine learning models but was worse than the best machine learning models and relatively insensitive to predictor choices. Of the machine learning models, decision tree algorithms performed the best in cross-validation experiments, even with a baseline predictor set, and artificial neural networks showed comparable performance when using all predictors. Soil temperature was frequently the most important predictor whilst water table depth was important at sites with substantial water table fluctuations, highlighting the value of data on wetland soil conditions. Raw gap-filling uncertainties from the machine learning models were underestimated and we propose a method to calibrate uncertainties to observations. The python code for model development, evaluation, and uncertainty estimation is publicly available. This study outlines a modular and robust machine learning workflow and makes recommendations for, and evaluates an improved baseline of, methane gap-filling models that can be implemented in multi-site syntheses or standardized products from regional and global flux networks (e.g., FLUXNET).- Cite:
- Jeremy Irvin, Sharon Zhou, Gavin McNicol, Fred Lu, Vincent Liu, Etienne Fluet‐Chouinard, Zutao Ouyang, Sara Knox, Antje Lucas-Moffat, Carlo Trotta, Dario Papale, Domenico Vitale, Ivan Mammarella, Pavel Alekseychik, Mika Aurela, Anand Avati, Dennis Baldocchi, Sheel Bansal, Gil Bohrer, et al.. 2021. Gap-filling eddy covariance methane fluxes: Comparison of machine learning model predictions and uncertainties at FLUXNET-CH4 wetlands. Agricultural and Forest Meteorology, Volume 308-309, 308:108528.
- Copy Citation:
Export citation
@article{Irvin-2021-Gap-filling,
title = "Gap-filling eddy covariance methane fluxes: Comparison of machine learning model predictions and uncertainties at FLUXNET-CH4 wetlands",
author = {Irvin, Jeremy and
Zhou, Sharon and
McNicol, Gavin and
Lu, Fred and
Liu, Vincent and
Fluet‐Chouinard, Etienne and
Ouyang, Zutao and
Knox, Sara and
Lucas-Moffat, Antje and
Trotta, Carlo and
Papale, Dario and
Vitale, Domenico and
Mammarella, Ivan and
Alekseychik, Pavel and
Aurela, Mika and
Avati, Anand and
Baldocchi, Dennis and
Bansal, Sheel and
Bohrer, Gil and
Campbell, David I. and
Chen, Jiquan and
Chu, Housen and
Dalmagro, Higo J. and
Delwiche, Kyle and
Desai, Ankur R. and
Euskirchen, Eug{\'e}nie and
F{\'e}ron, Sarah and
Goeckede, Mathias and
Heimann, Martin and
Helbig, Manuel and
Helfter, Carole and
Hemes, Kyle S. and
Hirano, Takashi and
Iwata, Hiroyasu and
Jurasinski, Gerald and
Kalhori, Aram and
Kondrich, Andrew and
Lai, Derrick Y.F. and
Lohila, Annalea and
Malhotra, Avni and
Merbold, Lutz and
Mitra, Bhaskar and
Ng, Andrew Y. and
Nilsson, Mats and
Noormets, Asko and
Peichl, Matthias and
Rey‐S{\'a}nchez, Camilo and
Richardson, Andrew D. and
Runkle, Benjamin R. K. and
Sch{\"a}fer, Karina V. R. and
Sonnentag, Oliver and
Stuart-Ha{\"e}ntjens, Ellen and
Sturtevant, Cove and
Ueyama, Masahito and
Valach, Alex and
Vargas, Rodrigo and
Vourlitis, George L. and
Ward, Eric J. and
Wong, Guan Xhuan and
Zona, Donatella and
Alberto, Ma. Carmelita R. and
Billesbach, David P. and
Celis, Gerardo and
Dolman, A. J. and
Friborg, Thomas and
Fuchs, Kathrin and
Gogo, S{\'e}bastien and
Gondwe, Mangaliso J. and
Goodrich, Jordan P. and
Gottschalk, Pia and
H{\"o}rtnagl, Lukas and
Jacotot, Adrien and
Koebsch, Franziska and
Kasak, Kuno and
Maier, Regine and
Morin, Timothy H. and
Nemitz, Eiko and
Oechel, Walter C. and
Oikawa, Patricia Y. and
Ono, Kaori and
Sachs, Torsten and
Sakabe, Ayaka and
Schuur, Edward A. G. and
Shortt, Robert and
Sullivan, Ryan C. and
Szutu, Daphne and
Tuittila, Eeva‐Stiina and
Varlagin, Andrej and
Verfaillie, Joeseph G. and
Wille, Christian and
Windham‐Myers, Lisamarie and
Poulter, Benjamin and
Jackson, Robert B.},
journal = "Agricultural and Forest Meteorology, Volume 308-309",
volume = "308",
year = "2021",
publisher = "Elsevier BV",
url = "https://gwf-uwaterloo.github.io/gwf-publications/G21-90001",
doi = "10.1016/j.agrformet.2021.108528",
pages = "108528",
abstract = "{\mbox{$\bullet$}} We evaluate methane flux gap-filling methods across 17 boreal-to-tropical wetlands {\mbox{$\bullet$}} New methods for generating realistic artificial gaps and uncertainties are proposed {\mbox{$\bullet$}} Decision tree algorithms perform slightly better than neural networks on average {\mbox{$\bullet$}} Soil temperature and generic seasonality are the most important predictors {\mbox{$\bullet$}} Open-source code is released for gap-filling steps and uncertainty evaluation Time series of wetland methane fluxes measured by eddy covariance require gap-filling to estimate daily, seasonal, and annual emissions. Gap-filling methane fluxes is challenging because of high variability and complex responses to multiple drivers. To date, there is no widely established gap-filling standard for wetland methane fluxes, with regards both to the best model algorithms and predictors. This study synthesizes results of different gap-filling methods systematically applied at 17 wetland sites spanning boreal to tropical regions and including all major wetland classes and two rice paddies. Procedures are proposed for: 1) creating realistic artificial gap scenarios, 2) training and evaluating gap-filling models without overstating performance, and 3) predicting half-hourly methane fluxes and annual emissions with realistic uncertainty estimates. Performance is compared between a conventional method (marginal distribution sampling) and four machine learning algorithms. The conventional method achieved similar median performance as the machine learning models but was worse than the best machine learning models and relatively insensitive to predictor choices. Of the machine learning models, decision tree algorithms performed the best in cross-validation experiments, even with a baseline predictor set, and artificial neural networks showed comparable performance when using all predictors. Soil temperature was frequently the most important predictor whilst water table depth was important at sites with substantial water table fluctuations, highlighting the value of data on wetland soil conditions. Raw gap-filling uncertainties from the machine learning models were underestimated and we propose a method to calibrate uncertainties to observations. The python code for model development, evaluation, and uncertainty estimation is publicly available. This study outlines a modular and robust machine learning workflow and makes recommendations for, and evaluates an improved baseline of, methane gap-filling models that can be implemented in multi-site syntheses or standardized products from regional and global flux networks (e.g., FLUXNET).",
}
<?xml version="1.0" encoding="UTF-8"?>
<modsCollection xmlns="http://www.loc.gov/mods/v3">
<mods ID="Irvin-2021-Gap-filling">
<titleInfo>
<title>Gap-filling eddy covariance methane fluxes: Comparison of machine learning model predictions and uncertainties at FLUXNET-CH4 wetlands</title>
</titleInfo>
<name type="personal">
<namePart type="given">Jeremy</namePart>
<namePart type="family">Irvin</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Sharon</namePart>
<namePart type="family">Zhou</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Gavin</namePart>
<namePart type="family">McNicol</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Fred</namePart>
<namePart type="family">Lu</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Vincent</namePart>
<namePart type="family">Liu</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Etienne</namePart>
<namePart type="family">Fluet‐Chouinard</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Zutao</namePart>
<namePart type="family">Ouyang</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Sara</namePart>
<namePart type="family">Knox</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Antje</namePart>
<namePart type="family">Lucas-Moffat</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Carlo</namePart>
<namePart type="family">Trotta</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Dario</namePart>
<namePart type="family">Papale</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Domenico</namePart>
<namePart type="family">Vitale</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Ivan</namePart>
<namePart type="family">Mammarella</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Pavel</namePart>
<namePart type="family">Alekseychik</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Mika</namePart>
<namePart type="family">Aurela</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Anand</namePart>
<namePart type="family">Avati</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Dennis</namePart>
<namePart type="family">Baldocchi</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Sheel</namePart>
<namePart type="family">Bansal</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Gil</namePart>
<namePart type="family">Bohrer</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">David</namePart>
<namePart type="given">I</namePart>
<namePart type="family">Campbell</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Jiquan</namePart>
<namePart type="family">Chen</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Housen</namePart>
<namePart type="family">Chu</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Higo</namePart>
<namePart type="given">J</namePart>
<namePart type="family">Dalmagro</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Kyle</namePart>
<namePart type="family">Delwiche</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Ankur</namePart>
<namePart type="given">R</namePart>
<namePart type="family">Desai</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Eugénie</namePart>
<namePart type="family">Euskirchen</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Sarah</namePart>
<namePart type="family">Féron</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Mathias</namePart>
<namePart type="family">Goeckede</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Martin</namePart>
<namePart type="family">Heimann</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Manuel</namePart>
<namePart type="family">Helbig</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Carole</namePart>
<namePart type="family">Helfter</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Kyle</namePart>
<namePart type="given">S</namePart>
<namePart type="family">Hemes</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Takashi</namePart>
<namePart type="family">Hirano</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Hiroyasu</namePart>
<namePart type="family">Iwata</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Gerald</namePart>
<namePart type="family">Jurasinski</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Aram</namePart>
<namePart type="family">Kalhori</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Andrew</namePart>
<namePart type="family">Kondrich</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Derrick</namePart>
<namePart type="given">Y.F.</namePart>
<namePart type="family">Lai</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Annalea</namePart>
<namePart type="family">Lohila</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Avni</namePart>
<namePart type="family">Malhotra</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Lutz</namePart>
<namePart type="family">Merbold</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Bhaskar</namePart>
<namePart type="family">Mitra</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Andrew</namePart>
<namePart type="given">Y</namePart>
<namePart type="family">Ng</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Mats</namePart>
<namePart type="family">Nilsson</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Asko</namePart>
<namePart type="family">Noormets</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Matthias</namePart>
<namePart type="family">Peichl</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Camilo</namePart>
<namePart type="family">Rey‐Sánchez</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Andrew</namePart>
<namePart type="given">D</namePart>
<namePart type="family">Richardson</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Benjamin</namePart>
<namePart type="given">R</namePart>
<namePart type="given">K</namePart>
<namePart type="family">Runkle</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Karina</namePart>
<namePart type="given">V</namePart>
<namePart type="given">R</namePart>
<namePart type="family">Schäfer</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Oliver</namePart>
<namePart type="family">Sonnentag</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Ellen</namePart>
<namePart type="family">Stuart-Haëntjens</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Cove</namePart>
<namePart type="family">Sturtevant</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Masahito</namePart>
<namePart type="family">Ueyama</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Alex</namePart>
<namePart type="family">Valach</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Rodrigo</namePart>
<namePart type="family">Vargas</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">George</namePart>
<namePart type="given">L</namePart>
<namePart type="family">Vourlitis</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Eric</namePart>
<namePart type="given">J</namePart>
<namePart type="family">Ward</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Guan</namePart>
<namePart type="given">Xhuan</namePart>
<namePart type="family">Wong</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Donatella</namePart>
<namePart type="family">Zona</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Ma.</namePart>
<namePart type="given">Carmelita</namePart>
<namePart type="given">R</namePart>
<namePart type="family">Alberto</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">David</namePart>
<namePart type="given">P</namePart>
<namePart type="family">Billesbach</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Gerardo</namePart>
<namePart type="family">Celis</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">A</namePart>
<namePart type="given">J</namePart>
<namePart type="family">Dolman</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Thomas</namePart>
<namePart type="family">Friborg</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Kathrin</namePart>
<namePart type="family">Fuchs</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Sébastien</namePart>
<namePart type="family">Gogo</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Mangaliso</namePart>
<namePart type="given">J</namePart>
<namePart type="family">Gondwe</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Jordan</namePart>
<namePart type="given">P</namePart>
<namePart type="family">Goodrich</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Pia</namePart>
<namePart type="family">Gottschalk</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Lukas</namePart>
<namePart type="family">Hörtnagl</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Adrien</namePart>
<namePart type="family">Jacotot</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Franziska</namePart>
<namePart type="family">Koebsch</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Kuno</namePart>
<namePart type="family">Kasak</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Regine</namePart>
<namePart type="family">Maier</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Timothy</namePart>
<namePart type="given">H</namePart>
<namePart type="family">Morin</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Eiko</namePart>
<namePart type="family">Nemitz</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Walter</namePart>
<namePart type="given">C</namePart>
<namePart type="family">Oechel</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Patricia</namePart>
<namePart type="given">Y</namePart>
<namePart type="family">Oikawa</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Kaori</namePart>
<namePart type="family">Ono</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Torsten</namePart>
<namePart type="family">Sachs</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Ayaka</namePart>
<namePart type="family">Sakabe</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Edward</namePart>
<namePart type="given">A</namePart>
<namePart type="given">G</namePart>
<namePart type="family">Schuur</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Robert</namePart>
<namePart type="family">Shortt</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Ryan</namePart>
<namePart type="given">C</namePart>
<namePart type="family">Sullivan</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Daphne</namePart>
<namePart type="family">Szutu</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Eeva‐Stiina</namePart>
<namePart type="family">Tuittila</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Andrej</namePart>
<namePart type="family">Varlagin</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Joeseph</namePart>
<namePart type="given">G</namePart>
<namePart type="family">Verfaillie</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Christian</namePart>
<namePart type="family">Wille</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Lisamarie</namePart>
<namePart type="family">Windham‐Myers</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Benjamin</namePart>
<namePart type="family">Poulter</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Robert</namePart>
<namePart type="given">B</namePart>
<namePart type="family">Jackson</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<originInfo>
<dateIssued>2021</dateIssued>
</originInfo>
<typeOfResource>text</typeOfResource>
<genre authority="bibutilsgt">journal article</genre>
<relatedItem type="host">
<titleInfo>
<title>Agricultural and Forest Meteorology, Volume 308-309</title>
</titleInfo>
<originInfo>
<issuance>continuing</issuance>
<publisher>Elsevier BV</publisher>
</originInfo>
<genre authority="marcgt">periodical</genre>
<genre authority="bibutilsgt">academic journal</genre>
</relatedItem>
<abstract>\bullet We evaluate methane flux gap-filling methods across 17 boreal-to-tropical wetlands \bullet New methods for generating realistic artificial gaps and uncertainties are proposed \bullet Decision tree algorithms perform slightly better than neural networks on average \bullet Soil temperature and generic seasonality are the most important predictors \bullet Open-source code is released for gap-filling steps and uncertainty evaluation Time series of wetland methane fluxes measured by eddy covariance require gap-filling to estimate daily, seasonal, and annual emissions. Gap-filling methane fluxes is challenging because of high variability and complex responses to multiple drivers. To date, there is no widely established gap-filling standard for wetland methane fluxes, with regards both to the best model algorithms and predictors. This study synthesizes results of different gap-filling methods systematically applied at 17 wetland sites spanning boreal to tropical regions and including all major wetland classes and two rice paddies. Procedures are proposed for: 1) creating realistic artificial gap scenarios, 2) training and evaluating gap-filling models without overstating performance, and 3) predicting half-hourly methane fluxes and annual emissions with realistic uncertainty estimates. Performance is compared between a conventional method (marginal distribution sampling) and four machine learning algorithms. The conventional method achieved similar median performance as the machine learning models but was worse than the best machine learning models and relatively insensitive to predictor choices. Of the machine learning models, decision tree algorithms performed the best in cross-validation experiments, even with a baseline predictor set, and artificial neural networks showed comparable performance when using all predictors. Soil temperature was frequently the most important predictor whilst water table depth was important at sites with substantial water table fluctuations, highlighting the value of data on wetland soil conditions. Raw gap-filling uncertainties from the machine learning models were underestimated and we propose a method to calibrate uncertainties to observations. The python code for model development, evaluation, and uncertainty estimation is publicly available. This study outlines a modular and robust machine learning workflow and makes recommendations for, and evaluates an improved baseline of, methane gap-filling models that can be implemented in multi-site syntheses or standardized products from regional and global flux networks (e.g., FLUXNET).</abstract>
<identifier type="citekey">Irvin-2021-Gap-filling</identifier>
<identifier type="doi">10.1016/j.agrformet.2021.108528</identifier>
<location>
<url>https://gwf-uwaterloo.github.io/gwf-publications/G21-90001</url>
</location>
<part>
<date>2021</date>
<detail type="volume"><number>308</number></detail>
<detail type="page"><number>108528</number></detail>
</part>
</mods>
</modsCollection>
%0 Journal Article %T Gap-filling eddy covariance methane fluxes: Comparison of machine learning model predictions and uncertainties at FLUXNET-CH4 wetlands %A Irvin, Jeremy %A Zhou, Sharon %A McNicol, Gavin %A Lu, Fred %A Liu, Vincent %A Fluet‐Chouinard, Etienne %A Ouyang, Zutao %A Knox, Sara %A Lucas-Moffat, Antje %A Trotta, Carlo %A Papale, Dario %A Vitale, Domenico %A Mammarella, Ivan %A Alekseychik, Pavel %A Aurela, Mika %A Avati, Anand %A Baldocchi, Dennis %A Bansal, Sheel %A Bohrer, Gil %A Campbell, David I. %A Chen, Jiquan %A Chu, Housen %A Dalmagro, Higo J. %A Delwiche, Kyle %A Desai, Ankur R. %A Euskirchen, Eugénie %A Féron, Sarah %A Goeckede, Mathias %A Heimann, Martin %A Helbig, Manuel %A Helfter, Carole %A Hemes, Kyle S. %A Hirano, Takashi %A Iwata, Hiroyasu %A Jurasinski, Gerald %A Kalhori, Aram %A Kondrich, Andrew %A Lai, Derrick Y.F. %A Lohila, Annalea %A Malhotra, Avni %A Merbold, Lutz %A Mitra, Bhaskar %A Ng, Andrew Y. %A Nilsson, Mats %A Noormets, Asko %A Peichl, Matthias %A Rey‐Sánchez, Camilo %A Richardson, Andrew D. %A Runkle, Benjamin R. K. %A Schäfer, Karina V. R. %A Sonnentag, Oliver %A Stuart-Haëntjens, Ellen %A Sturtevant, Cove %A Ueyama, Masahito %A Valach, Alex %A Vargas, Rodrigo %A Vourlitis, George L. %A Ward, Eric J. %A Wong, Guan Xhuan %A Zona, Donatella %A Alberto, Ma. Carmelita R. %A Billesbach, David P. %A Celis, Gerardo %A Dolman, A. J. %A Friborg, Thomas %A Fuchs, Kathrin %A Gogo, Sébastien %A Gondwe, Mangaliso J. %A Goodrich, Jordan P. %A Gottschalk, Pia %A Hörtnagl, Lukas %A Jacotot, Adrien %A Koebsch, Franziska %A Kasak, Kuno %A Maier, Regine %A Morin, Timothy H. %A Nemitz, Eiko %A Oechel, Walter C. %A Oikawa, Patricia Y. %A Ono, Kaori %A Sachs, Torsten %A Sakabe, Ayaka %A Schuur, Edward A. G. %A Shortt, Robert %A Sullivan, Ryan C. %A Szutu, Daphne %A Tuittila, Eeva‐Stiina %A Varlagin, Andrej %A Verfaillie, Joeseph G. %A Wille, Christian %A Windham‐Myers, Lisamarie %A Poulter, Benjamin %A Jackson, Robert B. %J Agricultural and Forest Meteorology, Volume 308-309 %D 2021 %V 308 %I Elsevier BV %F Irvin-2021-Gap-filling %X \bullet We evaluate methane flux gap-filling methods across 17 boreal-to-tropical wetlands \bullet New methods for generating realistic artificial gaps and uncertainties are proposed \bullet Decision tree algorithms perform slightly better than neural networks on average \bullet Soil temperature and generic seasonality are the most important predictors \bullet Open-source code is released for gap-filling steps and uncertainty evaluation Time series of wetland methane fluxes measured by eddy covariance require gap-filling to estimate daily, seasonal, and annual emissions. Gap-filling methane fluxes is challenging because of high variability and complex responses to multiple drivers. To date, there is no widely established gap-filling standard for wetland methane fluxes, with regards both to the best model algorithms and predictors. This study synthesizes results of different gap-filling methods systematically applied at 17 wetland sites spanning boreal to tropical regions and including all major wetland classes and two rice paddies. Procedures are proposed for: 1) creating realistic artificial gap scenarios, 2) training and evaluating gap-filling models without overstating performance, and 3) predicting half-hourly methane fluxes and annual emissions with realistic uncertainty estimates. Performance is compared between a conventional method (marginal distribution sampling) and four machine learning algorithms. The conventional method achieved similar median performance as the machine learning models but was worse than the best machine learning models and relatively insensitive to predictor choices. Of the machine learning models, decision tree algorithms performed the best in cross-validation experiments, even with a baseline predictor set, and artificial neural networks showed comparable performance when using all predictors. Soil temperature was frequently the most important predictor whilst water table depth was important at sites with substantial water table fluctuations, highlighting the value of data on wetland soil conditions. Raw gap-filling uncertainties from the machine learning models were underestimated and we propose a method to calibrate uncertainties to observations. The python code for model development, evaluation, and uncertainty estimation is publicly available. This study outlines a modular and robust machine learning workflow and makes recommendations for, and evaluates an improved baseline of, methane gap-filling models that can be implemented in multi-site syntheses or standardized products from regional and global flux networks (e.g., FLUXNET). %R 10.1016/j.agrformet.2021.108528 %U https://gwf-uwaterloo.github.io/gwf-publications/G21-90001 %U https://doi.org/10.1016/j.agrformet.2021.108528 %P 108528
Markdown (Informal)
[Gap-filling eddy covariance methane fluxes: Comparison of machine learning model predictions and uncertainties at FLUXNET-CH4 wetlands](https://gwf-uwaterloo.github.io/gwf-publications/G21-90001) (Irvin et al., GWF 2021)
- Gap-filling eddy covariance methane fluxes: Comparison of machine learning model predictions and uncertainties at FLUXNET-CH4 wetlands (Irvin et al., GWF 2021)
ACL
- Jeremy Irvin, Sharon Zhou, Gavin McNicol, Fred Lu, Vincent Liu, Etienne Fluet‐Chouinard, Zutao Ouyang, Sara Knox, Antje Lucas-Moffat, Carlo Trotta, Dario Papale, Domenico Vitale, Ivan Mammarella, Pavel Alekseychik, Mika Aurela, Anand Avati, Dennis Baldocchi, Sheel Bansal, Gil Bohrer, et al.. 2021. Gap-filling eddy covariance methane fluxes: Comparison of machine learning model predictions and uncertainties at FLUXNET-CH4 wetlands. Agricultural and Forest Meteorology, Volume 308-309, 308:108528.
