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.