R/create_data_split.R

Defines functions create_data_split

# This function creates data splits along FLUXNET sites, present in the
# rsofun driver from FluxDataKit, to be used for a 5-fold (spatial) cross-validation.
# Folds are stratified by mean annual temperature and moisture index, based on
# Samantha Biegel's selection (code not present in this repo).
create_data_split <- function(){

  splits <- list()

  splits[[1]] <- list()
  splits[[1]]$train_sitename <- c('AT-Neu', 'AU-ASM', 'AU-Cow', 'AU-Cum', 'AU-DaS', 'AU-GWW', 'AU-Gin', 'AU-Tum', 'AU-Ync', 'BE-Maa', 'CA-Ca1', 'CA-Cbo', 'CA-Qfo', 'CA-TP1', 'CA-TP3', 'CA-TPD', 'CH-Aws', 'CH-Cha', 'CH-Dav', 'CH-Fru', 'CH-Oe1', 'CZ-BK1', 'CZ-RAJ', 'CZ-Stn', 'DE-HoH', 'DE-Obe', 'DE-RuW', 'DK-Sor', 'ES-Abr', 'ES-Agu', 'ES-LJu', 'ES-LM1', 'FI-Hyy', 'FI-Let', 'FI-Sod', 'FI-Var', 'FR-Bil', 'FR-FBn', 'FR-Fon', 'FR-LBr', 'FR-Pue', 'IT-Col', 'IT-Cpz', 'IT-Lav', 'IT-Lsn', 'IT-MBo', 'IT-Noe', 'IT-Ren', 'IT-Ro1', 'IT-Ro2', 'IT-SR2', 'IT-Tor', 'NL-Loo', 'RU-Fyo', 'SE-Htm', 'SE-Nor', 'SE-Ros', 'US-Blo', 'US-Fmf', 'US-GLE', 'US-Ha1', 'US-Ho2', 'US-ICh', 'US-ICt', 'US-Jo1', 'US-KFS', 'US-KLS', 'US-MMS', 'US-MOz', 'US-Me2', 'US-NR1', 'US-PFa', 'US-Ro4', 'US-Rwf', 'US-Rws', 'US-SRG', 'US-SRM', 'US-Seg', 'US-Ses', 'US-Syv', 'US-Ton', 'US-UMB', 'US-UMd', 'US-Var', 'US-WCr', 'US-Whs', 'US-Wkg')
  splits[[1]]$test_sitename <- c('AU-How', 'AU-Stp', 'BE-Bra', 'BE-Dor', 'BE-Vie', 'CA-Ca2', 'CA-Gro', 'CH-Lae', 'CZ-Lnz', 'DE-Gri', 'DE-Hai', 'DE-RuR', 'DE-Tha', 'ES-LM2', 'IL-Yat', 'RU-Fy2', 'US-BZS', 'US-Bar', 'US-Jo2', 'US-Mpj', 'US-Rms', 'US-Wjs')

  splits[[2]] <- list()
  splits[[2]]$train_sitename <- c('AT-Neu', 'AU-ASM', 'AU-Cow', 'AU-Cum', 'AU-DaS', 'AU-Gin', 'AU-How', 'AU-Stp', 'AU-Tum', 'AU-Ync', 'BE-Bra', 'BE-Dor', 'BE-Maa', 'BE-Vie', 'CA-Ca1', 'CA-Ca2', 'CA-Gro', 'CA-Qfo', 'CA-TP1', 'CH-Cha', 'CH-Dav', 'CH-Fru', 'CH-Lae', 'CH-Oe1', 'CZ-BK1', 'CZ-Lnz', 'CZ-RAJ', 'CZ-Stn', 'DE-Gri', 'DE-Hai', 'DE-HoH', 'DE-RuR', 'DE-RuW', 'DE-Tha', 'DK-Sor', 'ES-Abr', 'ES-Agu', 'ES-LJu', 'ES-LM1', 'ES-LM2', 'FI-Let', 'FI-Sod', 'FR-Bil', 'FR-FBn', 'FR-Fon', 'FR-LBr', 'FR-Pue', 'IL-Yat', 'IT-Col', 'IT-Cpz', 'IT-Lsn', 'IT-MBo', 'IT-Noe', 'IT-Ren', 'IT-Ro1', 'IT-Tor', 'RU-Fy2', 'RU-Fyo', 'SE-Htm', 'SE-Nor', 'SE-Ros', 'US-BZS', 'US-Bar', 'US-Blo', 'US-GLE', 'US-Ha1', 'US-Ho2', 'US-ICh', 'US-ICt', 'US-Jo2', 'US-KLS', 'US-MOz', 'US-Me2', 'US-Mpj', 'US-PFa', 'US-Rms', 'US-Ro4', 'US-Rwf', 'US-SRM', 'US-Seg', 'US-Ses', 'US-Ton', 'US-UMd', 'US-Var', 'US-WCr', 'US-Whs', 'US-Wjs')
  splits[[2]]$test_sitename <- c('AU-GWW', 'CA-Cbo', 'CA-TP3', 'CA-TPD', 'CH-Aws', 'DE-Obe', 'FI-Hyy', 'FI-Var', 'IT-Lav', 'IT-Ro2', 'IT-SR2', 'NL-Loo', 'US-Fmf', 'US-Jo1', 'US-KFS', 'US-MMS', 'US-NR1', 'US-Rws', 'US-SRG', 'US-Syv', 'US-UMB', 'US-Wkg')

  splits[[3]] <- list()
  splits[[3]]$train_sitename <- c('AT-Neu', 'AU-Cow', 'AU-Cum', 'AU-DaS', 'AU-GWW', 'AU-Gin', 'AU-How', 'AU-Stp', 'AU-Ync', 'BE-Bra', 'BE-Dor', 'BE-Maa', 'BE-Vie', 'CA-Ca1', 'CA-Ca2', 'CA-Cbo', 'CA-Gro', 'CA-Qfo', 'CA-TP1', 'CA-TP3', 'CA-TPD', 'CH-Aws', 'CH-Fru', 'CH-Lae', 'CZ-Lnz', 'CZ-RAJ', 'DE-Gri', 'DE-Hai', 'DE-HoH', 'DE-Obe', 'DE-RuR', 'DE-Tha', 'DK-Sor', 'ES-Abr', 'ES-Agu', 'ES-LM2', 'FI-Hyy', 'FI-Sod', 'FI-Var', 'FR-Bil', 'FR-FBn', 'FR-Fon', 'FR-LBr', 'IL-Yat', 'IT-Col', 'IT-Cpz', 'IT-Lav', 'IT-MBo', 'IT-Ro1', 'IT-Ro2', 'IT-SR2', 'IT-Tor', 'NL-Loo', 'RU-Fy2', 'RU-Fyo', 'SE-Htm', 'SE-Nor', 'SE-Ros', 'US-BZS', 'US-Bar', 'US-Blo', 'US-Fmf', 'US-GLE', 'US-Ha1', 'US-Ho2', 'US-ICh', 'US-ICt', 'US-Jo1', 'US-Jo2', 'US-KFS', 'US-MMS', 'US-MOz', 'US-Mpj', 'US-NR1', 'US-Rms', 'US-Ro4', 'US-Rwf', 'US-Rws', 'US-SRG', 'US-Seg', 'US-Ses', 'US-Syv', 'US-Ton', 'US-UMB', 'US-Var', 'US-Wjs', 'US-Wkg')
  splits[[3]]$test_sitename <- c('AU-ASM', 'AU-Tum', 'CH-Cha', 'CH-Dav', 'CH-Oe1', 'CZ-BK1', 'CZ-Stn', 'DE-RuW', 'ES-LJu', 'ES-LM1', 'FI-Let', 'FR-Pue', 'IT-Lsn', 'IT-Noe', 'IT-Ren', 'US-KLS', 'US-Me2', 'US-PFa', 'US-SRM', 'US-UMd', 'US-WCr', 'US-Whs')

  splits[[4]] <- list()
  splits[[4]]$train_sitename <- c('AU-ASM', 'AU-Cum', 'AU-GWW', 'AU-Gin', 'AU-How', 'AU-Stp', 'AU-Tum', 'AU-Ync', 'BE-Bra', 'BE-Dor', 'BE-Maa', 'BE-Vie', 'CA-Ca1', 'CA-Ca2', 'CA-Cbo', 'CA-Gro', 'CA-TP3', 'CA-TPD', 'CH-Aws', 'CH-Cha', 'CH-Dav', 'CH-Fru', 'CH-Lae', 'CH-Oe1', 'CZ-BK1', 'CZ-Lnz', 'CZ-RAJ', 'CZ-Stn', 'DE-Gri', 'DE-Hai', 'DE-Obe', 'DE-RuR', 'DE-RuW', 'DE-Tha', 'ES-Abr', 'ES-LJu', 'ES-LM1', 'ES-LM2', 'FI-Hyy', 'FI-Let', 'FI-Sod', 'FI-Var', 'FR-FBn', 'FR-Pue', 'IL-Yat', 'IT-Col', 'IT-Lav', 'IT-Lsn', 'IT-MBo', 'IT-Noe', 'IT-Ren', 'IT-Ro2', 'IT-SR2', 'NL-Loo', 'RU-Fy2', 'RU-Fyo', 'SE-Ros', 'US-BZS', 'US-Bar', 'US-Blo', 'US-Fmf', 'US-GLE', 'US-ICt', 'US-Jo1', 'US-Jo2', 'US-KFS', 'US-KLS', 'US-MMS', 'US-MOz', 'US-Me2', 'US-Mpj', 'US-NR1', 'US-PFa', 'US-Rms', 'US-Ro4', 'US-Rws', 'US-SRG', 'US-SRM', 'US-Seg', 'US-Syv', 'US-UMB', 'US-UMd', 'US-Var', 'US-WCr', 'US-Whs', 'US-Wjs', 'US-Wkg')
  splits[[4]]$test_sitename <- c('AT-Neu', 'AU-Cow', 'AU-DaS', 'CA-Qfo', 'CA-TP1', 'DE-HoH', 'DK-Sor', 'ES-Agu', 'FR-Bil', 'FR-Fon', 'FR-LBr', 'IT-Cpz', 'IT-Ro1', 'IT-Tor', 'SE-Htm', 'SE-Nor', 'US-Ha1', 'US-Ho2', 'US-ICh', 'US-Rwf', 'US-Ses', 'US-Ton')

  splits[[5]] <- list()
  splits[[5]]$train_sitename <- c('AT-Neu', 'AU-ASM', 'AU-Cow', 'AU-DaS', 'AU-GWW', 'AU-How', 'AU-Stp', 'AU-Tum', 'BE-Bra', 'BE-Dor', 'BE-Vie', 'CA-Ca2', 'CA-Cbo', 'CA-Gro', 'CA-Qfo', 'CA-TP1', 'CA-TP3', 'CA-TPD', 'CH-Aws', 'CH-Cha', 'CH-Dav', 'CH-Lae', 'CH-Oe1', 'CZ-BK1', 'CZ-Lnz', 'CZ-Stn', 'DE-Gri', 'DE-Hai', 'DE-HoH', 'DE-Obe', 'DE-RuR', 'DE-RuW', 'DE-Tha', 'DK-Sor', 'ES-Agu', 'ES-LJu', 'ES-LM1', 'ES-LM2', 'FI-Hyy', 'FI-Let', 'FI-Var', 'FR-Bil', 'FR-Fon', 'FR-LBr', 'FR-Pue', 'IL-Yat', 'IT-Cpz', 'IT-Lav', 'IT-Lsn', 'IT-Noe', 'IT-Ren', 'IT-Ro1', 'IT-Ro2', 'IT-SR2', 'IT-Tor', 'NL-Loo', 'RU-Fy2', 'SE-Htm', 'SE-Nor', 'US-BZS', 'US-Bar', 'US-Fmf', 'US-Ha1', 'US-Ho2', 'US-ICh', 'US-Jo1', 'US-Jo2', 'US-KFS', 'US-KLS', 'US-MMS', 'US-Me2', 'US-Mpj', 'US-NR1', 'US-PFa', 'US-Rms', 'US-Rwf', 'US-Rws', 'US-SRG', 'US-SRM', 'US-Ses', 'US-Syv', 'US-Ton', 'US-UMB', 'US-UMd', 'US-WCr', 'US-Whs', 'US-Wjs', 'US-Wkg')
  splits[[5]]$test_sitename <- c('AU-Cum', 'AU-Gin', 'AU-Ync', 'BE-Maa', 'CA-Ca1', 'CH-Fru', 'CZ-RAJ', 'ES-Abr', 'FI-Sod', 'FR-FBn', 'IT-Col', 'IT-MBo', 'RU-Fyo', 'SE-Ros', 'US-Blo', 'US-GLE', 'US-ICt', 'US-MOz', 'US-Ro4', 'US-Seg', 'US-Var')

  return(splits)
}
computationales/sofunCalVal documentation built on June 12, 2025, 6:59 a.m.