samapriya / awesome-gee-community-datasets

Community Datasets added by users and made available for use at large
https://gee-community-catalog.org/
Creative Commons Attribution 4.0 International
795 stars 130 forks source link

[Dataset Title/Name]: A high spatial resolution Extended Spring Indices database #282

Closed EIzquierdo closed 2 months ago

EIzquierdo commented 3 months ago

Contact Details

emma.izquierdo@boku.ac.at

Dataset description

Study areas

At the present, the 1 km SI-x products are available over two study areas:

First Leaf index over contiguous US First Leaf index over Europe

Europe America

If you use the data, please cite: Izquierdo-Verdiguier, E., and Zurita-Milla, R. "A multi-decadal 1 km gridded database of continental-scale spring onset products:. Sci Data 11, 905 (2024).

Earth Engine Snippet if dataset already in GEE

function linspace(a,b,n) {
    if(typeof n === "undefined") n = Math.max(Math.round(b-a)+1,1);
    if(n<2) { return n===1?[a]:[]; }
    var i,ret = Array(n);
    n--;
    for(i=n;i>=0;i--) { ret[i] = (i*b+(n-i)*a)/n; }
    return ret;
}

var lf_eu = ee.ImageCollection('users/Emma/SIx_products/LeafEuropev3')
.map(function(img){return img.mask(img.neq(0)).select([3],['leaf']).copyProperties(img)});
var bl_eu = ee.ImageCollection('users/Emma/SIx_products/BloomEuropev3')
.map(function(img){return img.mask(img.neq(0)).select([3],['bloom']).copyProperties(img)});
var di_am = ee.ImageCollection('users/Emma/SIx_products/DI_Daymetv4')
.map(function(img){return img.select([3],['damage']).copyProperties(img)});
var di_er = ee.ImageCollection('users/Emma/SIx_products/DI_Europev3')
.map(function(img){return img.select([3],['damage']).copyProperties(img)});

var yrs = linspace(1950,2022,73);

function compositeAreas(yr){
var image = ee.Image(ee.ImageCollection('users/Emma/SIx_products/LeafDaymetv4')
  .filter(ee.Filter.eq('system:index',yr.toString())).select('leaf').first());

var image2 = ee.Image(lf_eu.filter(ee.Filter.eq('system:index',yr.toString())).first());

var image3 = ee.Image(ee.ImageCollection('users/Emma/SIx_products/BloomDaymetv4')
  .filter(ee.Filter.eq('system:index',yr.toString())).select('bloom').first());

var image4 = ee.Image(bl_eu.filter(ee.Filter.eq('system:index',yr.toString())).first());

var image5 = ee.Image(di_am.filter(ee.Filter.eq('system:index',yr.toString())).first());

var image6 = ee.Image(di_er.filter(ee.Filter.eq('system:index',yr.toString())).first());

var final = ee.ImageCollection([image,image2]).mosaic()
.addBands(ee.ImageCollection([image3,image4]).mosaic())
.addBands(ee.ImageCollection([image5,image6]).mosaic());
return final.set('year',yr);
}

var pheno = ee.ImageCollection(yrs.map(compositeAreas));
print(pheno);

var vis_vi1 = {bands:['leaf'],min:0 , max: 250, palette:["af0000","eb1e00","ff6400","ffb300","ffeb00","9beb4a","33db80","00b4ff","0064ff","000096"]};
Map.addLayer(pheno,vis_vi1,'Leaf');

var vis_vi2 = {bands:['bloom'],min:0, max: 250, palette:["af0000","eb1e00","ff6400","ffb300","ffeb00","9beb4a","33db80","00b4ff","0064ff","000096"]};
Map.addLayer(pheno,vis_vi2,'Bloom');

var vis_vi3 = {bands:['damage'],min:-150 , max: 150, palette:["ff3636","ff7b71","ffafaf","ffe8de","ffffff","dae4ff","b1c5ff","6d93ff","3e70ff"]};
Map.addLayer(pheno,vis_vi3,'DI');

Enter license information

CC BY-NC 4.0

Keywords

spring onset, phenology, climate change

Code of Conduct

samapriya commented 2 months ago

This has been completed @EIzquierdo I also copied over the collections in case that is useful. Thank you for contributing as always :)

var bloomDaymet = 'projects/sat-io/open-datasets/SIx_products/BloomDaymetv4';
var bloomEurope = 'projects/sat-io/open-datasets/SIx_products/BloomEuropev3';
var diDaymet = 'projects/sat-io/open-datasets/SIx_products/DI_Daymetv4';
var diEurope = 'projects/sat-io/open-datasets/SIx_products/DI_Europev3';
var leafDaymet = 'projects/sat-io/open-datasets/SIx_products/LeafDaymetv4';
var leafEurope = 'projects/sat-io/open-datasets/SIx_products/LeafEuropev3';