Global bare soil, photosynthetic and non-photosynthetic vegetation fraction annual at 500 m resolution
DOI10.5281/zenodo.12071317Zenodo12071317MaRDI QIDQ6689840FDOQ6689840
Dataset published at Zenodo repository.
Publication date: 18 June 2024
Copyright license: Creative Commons Attribution-ShareAlike 4.0 International
Annual mean and std for (1) bare soil fraction, and (2) photosynthetic and (3) non-photosynthetic vegetation annual at 500 m resolution for 20012023. The dataset was obtained from:https://thredds.nci.org.au/thredds/catalog/tc43/modis-fc/v310/tiles/monthly/cover/catalog.html (monthly values; 320GB in total). Mean and std was derived using terra package in R using functions "mean" and "std" from 12 monthly values; missing values were ignored during derivation. Note: the Global Vegetation Fractional Cover Product (GVFCP) v3.1 (Hilland Guerschman, 2022) is derived from spectral unmixing of all seven optical bands from the 500 m MODIS (Moderate Resolution Imaging Spectroradiometer) Nadir BRDF (Bidirectional Reflectance Distribution Function)-adjusted Reflectance Product (NBAR, MCD43A4 Collection 6). A similar dataset has been produced by Sun et al., (2024), covering period 20012022. Below is the sample code explaining how were the mean, max and std derived. ## Download from: https://thredds.nci.org.au/thredds/catalog/tc43/modis-fc/v310/tiles/monthly/cover/catalog.html ## wget -e robots=off -nH --cut-dirs 4 -nc -r -l5 -A '*.nc' -R 'catalog*' -I /thredds/fileServer/,/thredds/catalog/ 'https://thredds.nci.org.au/thredds/catalog/tc43/modis-fc/v310/tiles/monthly/cover/catalog.html' ## 6857 tiles library(terra) modis.tiles = list.files("/mnt/lacus/raw/modis-fc/v310/tiles/monthly/cover/", pattern = glob2rx("*.nc")) mod.lst = unique(sapply(modis.tiles, function(i){strsplit(i, "\\.")1[4]})) str(mod.lst) ## 272 ## aggregate per year per tile nc_tile - function(i, year, dir.x="/mnt/lacus/raw/modis-fc/v310/tiles/monthly/cover/", mc.cores=parallel::detectCores()){ require(terra) if(year == 2023 | year == 2024){ in.filename = paste0(dir.x, "FC_Monthly_Medoid.v310.MCD43A4.", i, ".", year, ".061.nc") } else { in.filename = paste0(dir.x, "FC_Monthly_Medoid.v310.MCD43A4.", i, ".", year, ".006.nc") } bs.filenames = paste0("./modis-fc/bs_", c("mean", "max", "std"), "/FC_Monthly_Medoid.v310.MCD43A4.", i, ".", year, ".006.tif") dg = terra::rast(in.filename) if(any(!file.exists(bs.filenames))){ bs = dg["bare_soil"] ## 12 months dg.m = app(bs, fun=mean, na.rm=TRUE, filename=bs.filenames[1], wopt=list(gdal=c("COMPRESS=DEFLATE"), datatype='INT1S'), overwrite=TRUE, cores = mc.cores) dg.x = app(bs, fun=max, na.rm=TRUE, filename=bs.filenames[2], wopt=list(gdal=c("COMPRESS=DEFLATE"), datatype='INT1S'), overwrite=TRUE, cores = mc.cores) dg.s = app(bs, fun=sd, na.rm=TRUE, filename=bs.filenames[3], wopt=list(gdal=c("COMPRESS=DEFLATE"), datatype='INT1S'), overwrite=TRUE, cores = mc.cores) } } ## run in parallel for(year in 2001:2024){ x = parallel::mclapply(sample(mod.lst), function(i){try( nc_tile(i, year=year, mc.cores = 2) )}, mc.cores = 40) tmpFiles(remove=TRUE) }
This page was built for dataset: Global bare soil, photosynthetic and non-photosynthetic vegetation fraction annual at 500 m resolution