diff --git a/.veda/ui b/.veda/ui index 52c8335db..89ec5e443 160000 --- a/.veda/ui +++ b/.veda/ui @@ -1 +1 @@ -Subproject commit 52c8335dbb1e48f6ed80273686d24817988d2919 +Subproject commit 89ec5e443a7e89e5b55b91f1bedaa616116ab05d diff --git a/datasets/cmip-tas.data.mdx b/datasets/cmip-tas.data.mdx index 857811a20..9289ccf99 100644 --- a/datasets/cmip-tas.data.mdx +++ b/datasets/cmip-tas.data.mdx @@ -1,6 +1,6 @@ --- -id: combined_CMIP6_daily_GISS-E2-1-G_tas_kerchunk_DEMO -name: 'CMIP6 Daily GISS-E2-1-G Near-Surface Air Temperature (demo subset)' +id: climdex-tmaxxf-access-cm2 +name: 'Earth Exchange Global Daily Downscaled Projections (NEX-GDDP-CMIP6)' featured: false description: "Daily near-surface air temperature from the NASA Earth Exchange Global Daily Downscaled Projections (NEX-GDDP-CMIP6) Project." media: @@ -14,27 +14,36 @@ taxonomy: values: - Climate layers: - - id: combined_CMIP6_daily_GISS-E2-1-G_tas_kerchunk_DEMO - stacCol: combined_CMIP6_daily_GISS-E2-1-G_tas_kerchunk_DEMO - name: CMIP6 Daily GISS-E2-1-G Near-Surface Air Temperature (demo subset) - type: zarr - description: "Historical (1950-2014) daily-mean near-surface (usually, 2 meter) air temperature in Kelvin." + - id: climdex-tmaxxf-access-cm2-ssp126-86 + stacCol: climdex-tmaxxf-access-cm2-ssp126 + name: CMIP6 Daily GISS-E2-1-G Near-Surface Air Temperature (ACCESS-CM2 ssp126) + type: raster + description: "Yearly mean near surface (2015-2100) (usually, 2 meter) air temperature in Kelvin. Threshold 86K" zoomExtent: - 0 - 20 sourceParams: - reference: "true" + assets: tmax_above_86 resampling_method: bilinear variable: tas colormap_name: coolwarm - rescale: 232,312 + rescale: -20,300 maxzoom: 12 + compare: + datasetId: climdex-tmaxxf-access-cm2 + layerId: climdex-tmaxxf-access-cm2-ssp126-86 + mapLabel: | + ::js ({ dateFns, datetime, compareDatetime }) => { + if (dateFns && datetime && compareDatetime) return `${dateFns.format(datetime, 'yyyy')} VS ${dateFns.format(compareDatetime, 'yyyy')}`; + } + analysis: + exclude: true legend: unit: label: K type: gradient - min: 232 - max: 312 + min: -20 + max: 300 stops: - '#3b4cc0' - '#7b9ff9' @@ -42,6 +51,714 @@ layers: - '#f2cbb7' - '#ee8468' - '#b40426' + - id: climdex-tmaxxf-access-cm2-ssp245-86 + stacCol: climdex-tmaxxf-access-cm2-ssp245 + name: CMIP6 Daily GISS-E2-1-G Near-Surface Air Temperature (ACCESS-CM2 ssp245) + type: raster + description: "Yearly mean near surface (2015-2100) (usually, 2 meter) air temperature in Kelvin. Threshold 86K" + zoomExtent: + - 0 + - 20 + sourceParams: + assets: tmax_above_86 + resampling_method: bilinear + variable: tas + colormap_name: coolwarm + rescale: -20,300 + maxzoom: 12 + compare: + datasetId: climdex-tmaxxf-access-cm2 + layerId: climdex-tmaxxf-access-cm2-ssp245-86 + mapLabel: | + ::js ({ dateFns, datetime, compareDatetime }) => { + if (dateFns && datetime && compareDatetime) return `${dateFns.format(datetime, 'yyyy')} VS ${dateFns.format(compareDatetime, 'yyyy')}`; + } + analysis: + exclude: true + legend: + unit: + label: K + type: gradient + min: -20 + max: 300 + stops: + - '#3b4cc0' + - '#7b9ff9' + - '#c0d4f5' + - '#f2cbb7' + - '#ee8468' + - '#b40426' + + - id: climdex-tmaxxf-access-cm2-ssp370-86 + stacCol: climdex-tmaxxf-access-cm2-ssp370 + name: CMIP6 Daily GISS-E2-1-G Near-Surface Air Temperature (ACCESS-CM2 ssp370) + type: raster + description: "Yearly mean near surface (2015-2100) (usually, 2 meter) air temperature in Kelvin. Threshold 86K" + zoomExtent: + - 0 + - 20 + sourceParams: + assets: tmax_above_86 + resampling_method: bilinear + variable: tas + colormap_name: coolwarm + rescale: -20,300 + maxzoom: 12 + compare: + datasetId: climdex-tmaxxf-access-cm2 + layerId: climdex-tmaxxf-access-cm2-ssp370-86 + mapLabel: | + ::js ({ dateFns, datetime, compareDatetime }) => { + if (dateFns && datetime && compareDatetime) return `${dateFns.format(datetime, 'yyyy')} VS ${dateFns.format(compareDatetime, 'yyyy')}`; + } + analysis: + exclude: true + legend: + unit: + label: K + type: gradient + min: -20 + max: 300 + stops: + - '#3b4cc0' + - '#7b9ff9' + - '#c0d4f5' + - '#f2cbb7' + - '#ee8468' + - '#b40426' + - id: climdex-tmaxxf-access-cm2-ssp585-86 + stacCol: climdex-tmaxxf-access-cm2-ssp585 + name: CMIP6 Daily GISS-E2-1-G Near-Surface Air Temperature (ACCESS-CM2 ssp585) + type: raster + description: "Yearly mean near surface (2015-2100) (usually, 2 meter) air temperature in Kelvin. Threshold 86K" + zoomExtent: + - 0 + - 20 + sourceParams: + assets: tmax_above_86 + resampling_method: bilinear + variable: tas + colormap_name: coolwarm + rescale: -20,300 + maxzoom: 12 + compare: + datasetId: climdex-tmaxxf-access-cm2 + layerId: climdex-tmaxxf-access-cm2-ssp585-86 + mapLabel: | + ::js ({ dateFns, datetime, compareDatetime }) => { + if (dateFns && datetime && compareDatetime) return `${dateFns.format(datetime, 'yyyy')} VS ${dateFns.format(compareDatetime, 'yyyy')}`; + } + analysis: + exclude: true + legend: + unit: + label: K + type: gradient + min: -20 + max: 300 + stops: + - '#3b4cc0' + - '#7b9ff9' + - '#c0d4f5' + - '#f2cbb7' + - '#ee8468' + - '#b40426' + - id: climdex-tmaxxf-access-cm2-ssp126-90 + stacCol: climdex-tmaxxf-access-cm2-ssp126 + name: CMIP6 Daily GISS-E2-1-G Near-Surface Air Temperature (ACCESS-CM2 ssp126) + type: raster + description: "Yearly mean near surface (2015-2100) (usually, 2 meter) air temperature in Kelvin. Threshold 90K" + zoomExtent: + - 0 + - 20 + sourceParams: + assets: tmax_above_90 + resampling_method: bilinear + variable: tas + colormap_name: coolwarm + rescale: -20,300 + maxzoom: 12 + compare: + datasetId: climdex-tmaxxf-access-cm2 + layerId: climdex-tmaxxf-access-cm2-ssp126-90 + mapLabel: | + ::js ({ dateFns, datetime, compareDatetime }) => { + if (dateFns && datetime && compareDatetime) return `${dateFns.format(datetime, 'yyyy')} VS ${dateFns.format(compareDatetime, 'yyyy')}`; + } + analysis: + exclude: true + legend: + unit: + label: K + type: gradient + min: -20 + max: 300 + stops: + - '#3b4cc0' + - '#7b9ff9' + - '#c0d4f5' + - '#f2cbb7' + - '#ee8468' + - '#b40426' + - id: climdex-tmaxxf-access-cm2-ssp245-90 + stacCol: climdex-tmaxxf-access-cm2-ssp245 + name: CMIP6 Daily GISS-E2-1-G Near-Surface Air Temperature (ACCESS-CM2 ssp245) + type: raster + description: "Yearly mean near surface (2015-2100) (usually, 2 meter) air temperature in Kelvin. Threshold 90K" + zoomExtent: + - 0 + - 20 + sourceParams: + assets: tmax_above_90 + resampling_method: bilinear + variable: tas + colormap_name: coolwarm + rescale: -20,300 + maxzoom: 12 + compare: + datasetId: climdex-tmaxxf-access-cm2 + layerId: climdex-tmaxxf-access-cm2-ssp245-90 + mapLabel: | + ::js ({ dateFns, datetime, compareDatetime }) => { + if (dateFns && datetime && compareDatetime) return `${dateFns.format(datetime, 'yyyy')} VS ${dateFns.format(compareDatetime, 'yyyy')}`; + } + analysis: + exclude: true + legend: + unit: + label: K + type: gradient + min: -20 + max: 300 + stops: + - '#3b4cc0' + - '#7b9ff9' + - '#c0d4f5' + - '#f2cbb7' + - '#ee8468' + - '#b40426' + + - id: climdex-tmaxxf-access-cm2-ssp370-90 + stacCol: climdex-tmaxxf-access-cm2-ssp370 + name: CMIP6 Daily GISS-E2-1-G Near-Surface Air Temperature (ACCESS-CM2 ssp370) + type: raster + description: "Yearly mean near surface (2015-2100) (usually, 2 meter) air temperature in Kelvin. Threshold 90K" + zoomExtent: + - 0 + - 20 + sourceParams: + assets: tmax_above_90 + resampling_method: bilinear + variable: tas + colormap_name: coolwarm + rescale: -20,300 + maxzoom: 12 + compare: + datasetId: climdex-tmaxxf-access-cm2 + layerId: climdex-tmaxxf-access-cm2-ssp370-90 + mapLabel: | + ::js ({ dateFns, datetime, compareDatetime }) => { + if (dateFns && datetime && compareDatetime) return `${dateFns.format(datetime, 'yyyy')} VS ${dateFns.format(compareDatetime, 'yyyy')}`; + } + analysis: + exclude: true + legend: + unit: + label: K + type: gradient + min: -20 + max: 300 + stops: + - '#3b4cc0' + - '#7b9ff9' + - '#c0d4f5' + - '#f2cbb7' + - '#ee8468' + - '#b40426' + - id: climdex-tmaxxf-access-cm2-ssp585-90 + stacCol: climdex-tmaxxf-access-cm2-ssp585 + name: CMIP6 Daily GISS-E2-1-G Near-Surface Air Temperature (ACCESS-CM2 ssp585) + type: raster + description: "Yearly mean near surface (2015-2100) (usually, 2 meter) air temperature in Kelvin. Threshold 90K" + zoomExtent: + - 0 + - 20 + sourceParams: + assets: tmax_above_90 + resampling_method: bilinear + variable: tas + colormap_name: coolwarm + rescale: -20,300 + maxzoom: 12 + compare: + datasetId: climdex-tmaxxf-access-cm2 + layerId: climdex-tmaxxf-access-cm2-ssp585-90 + mapLabel: | + ::js ({ dateFns, datetime, compareDatetime }) => { + if (dateFns && datetime && compareDatetime) return `${dateFns.format(datetime, 'yyyy')} VS ${dateFns.format(compareDatetime, 'yyyy')}`; + } + analysis: + exclude: true + legend: + unit: + label: K + type: gradient + min: -20 + max: 300 + stops: + - '#3b4cc0' + - '#7b9ff9' + - '#c0d4f5' + - '#f2cbb7' + - '#ee8468' + - '#b40426' + - id: climdex-tmaxxf-access-cm2-ssp126-100 + stacCol: climdex-tmaxxf-access-cm2-ssp126 + name: CMIP6 Daily GISS-E2-1-G Near-Surface Air Temperature (ACCESS-CM2 ssp126) + type: raster + description: "Yearly mean near surface (2015-2100) (usually, 2 meter) air temperature in Kelvin. Threshold 100K" + zoomExtent: + - 0 + - 20 + sourceParams: + assets: tmax_above_100 + resampling_method: bilinear + variable: tas + colormap_name: coolwarm + rescale: -20,300 + maxzoom: 12 + compare: + datasetId: climdex-tmaxxf-access-cm2 + layerId: climdex-tmaxxf-access-cm2-ssp126-100 + mapLabel: | + ::js ({ dateFns, datetime, compareDatetime }) => { + if (dateFns && datetime && compareDatetime) return `${dateFns.format(datetime, 'yyyy')} VS ${dateFns.format(compareDatetime, 'yyyy')}`; + } + analysis: + exclude: true + legend: + unit: + label: K + type: gradient + min: -20 + max: 300 + stops: + - '#3b4cc0' + - '#7b9ff9' + - '#c0d4f5' + - '#f2cbb7' + - '#ee8468' + - '#b40426' + - id: climdex-tmaxxf-access-cm2-ssp245-100 + stacCol: climdex-tmaxxf-access-cm2-ssp245 + name: CMIP6 Daily GISS-E2-1-G Near-Surface Air Temperature (ACCESS-CM2 ssp245) + type: raster + description: "Yearly mean near surface (2015-2100) (usually, 2 meter) air temperature in Kelvin. Threshold 100K" + zoomExtent: + - 0 + - 20 + sourceParams: + assets: tmax_above_100 + resampling_method: bilinear + variable: tas + colormap_name: coolwarm + rescale: -20,300 + maxzoom: 12 + compare: + datasetId: climdex-tmaxxf-access-cm2 + layerId: climdex-tmaxxf-access-cm2-ssp245-100 + mapLabel: | + ::js ({ dateFns, datetime, compareDatetime }) => { + if (dateFns && datetime && compareDatetime) return `${dateFns.format(datetime, 'yyyy')} VS ${dateFns.format(compareDatetime, 'yyyy')}`; + } + analysis: + exclude: true + legend: + unit: + label: K + type: gradient + min: -20 + max: 300 + stops: + - '#3b4cc0' + - '#7b9ff9' + - '#c0d4f5' + - '#f2cbb7' + - '#ee8468' + - '#b40426' + + - id: climdex-tmaxxf-access-cm2-ssp370-100 + stacCol: climdex-tmaxxf-access-cm2-ssp370 + name: CMIP6 Daily GISS-E2-1-G Near-Surface Air Temperature (ACCESS-CM2 ssp370) + type: raster + description: "Yearly mean near surface (2015-2100) (usually, 2 meter) air temperature in Kelvin. Threshold 100K" + zoomExtent: + - 0 + - 20 + sourceParams: + assets: tmax_above_100 + resampling_method: bilinear + variable: tas + colormap_name: coolwarm + rescale: -20,300 + maxzoom: 12 + compare: + datasetId: climdex-tmaxxf-access-cm2 + layerId: climdex-tmaxxf-access-cm2-ssp370-100 + mapLabel: | + ::js ({ dateFns, datetime, compareDatetime }) => { + if (dateFns && datetime && compareDatetime) return `${dateFns.format(datetime, 'yyyy')} VS ${dateFns.format(compareDatetime, 'yyyy')}`; + } + analysis: + exclude: true + legend: + unit: + label: K + type: gradient + min: -20 + max: 300 + stops: + - '#3b4cc0' + - '#7b9ff9' + - '#c0d4f5' + - '#f2cbb7' + - '#ee8468' + - '#b40426' + - id: climdex-tmaxxf-access-cm2-ssp585-100 + stacCol: climdex-tmaxxf-access-cm2-ssp585 + name: CMIP6 Daily GISS-E2-1-G Near-Surface Air Temperature (ACCESS-CM2 ssp585) + type: raster + description: "Yearly mean near surface (2015-2100) (usually, 2 meter) air temperature in Kelvin. Threshold 100K" + zoomExtent: + - 0 + - 20 + sourceParams: + assets: tmax_above_100 + resampling_method: bilinear + variable: tas + colormap_name: coolwarm + rescale: -20,300 + maxzoom: 12 + compare: + datasetId: climdex-tmaxxf-access-cm2 + layerId: climdex-tmaxxf-access-cm2-ssp585-100 + mapLabel: | + ::js ({ dateFns, datetime, compareDatetime }) => { + if (dateFns && datetime && compareDatetime) return `${dateFns.format(datetime, 'yyyy')} VS ${dateFns.format(compareDatetime, 'yyyy')}`; + } + analysis: + exclude: true + legend: + unit: + label: K + type: gradient + min: -20 + max: 300 + stops: + - '#3b4cc0' + - '#7b9ff9' + - '#c0d4f5' + - '#f2cbb7' + - '#ee8468' + - '#b40426' + - id: climdex-tmaxxf-access-cm2-ssp126-110 + stacCol: climdex-tmaxxf-access-cm2-ssp126 + name: CMIP6 Daily GISS-E2-1-G Near-Surface Air Temperature (ACCESS-CM2 ssp126) + type: raster + description: "Yearly mean near surface (2015-2100) (usually, 2 meter) air temperature in Kelvin. Threshold 110K" + zoomExtent: + - 0 + - 20 + sourceParams: + assets: tmax_above_110 + resampling_method: bilinear + variable: tas + colormap_name: coolwarm + rescale: -20,300 + maxzoom: 12 + compare: + datasetId: climdex-tmaxxf-access-cm2 + layerId: climdex-tmaxxf-access-cm2-ssp126-110 + mapLabel: | + ::js ({ dateFns, datetime, compareDatetime }) => { + if (dateFns && datetime && compareDatetime) return `${dateFns.format(datetime, 'yyyy')} VS ${dateFns.format(compareDatetime, 'yyyy')}`; + } + analysis: + exclude: true + legend: + unit: + label: K + type: gradient + min: -20 + max: 300 + stops: + - '#3b4cc0' + - '#7b9ff9' + - '#c0d4f5' + - '#f2cbb7' + - '#ee8468' + - '#b40426' + - id: climdex-tmaxxf-access-cm2-ssp245-110 + stacCol: climdex-tmaxxf-access-cm2-ssp245 + name: CMIP6 Daily GISS-E2-1-G Near-Surface Air Temperature (ACCESS-CM2 ssp245) + type: raster + description: "Yearly mean near surface (2015-2100) (usually, 2 meter) air temperature in Kelvin. Threshold 110K" + zoomExtent: + - 0 + - 20 + sourceParams: + assets: tmax_above_110 + resampling_method: bilinear + variable: tas + colormap_name: coolwarm + rescale: -20,300 + maxzoom: 12 + compare: + datasetId: climdex-tmaxxf-access-cm2 + layerId: climdex-tmaxxf-access-cm2-ssp245-110 + mapLabel: | + ::js ({ dateFns, datetime, compareDatetime }) => { + if (dateFns && datetime && compareDatetime) return `${dateFns.format(datetime, 'yyyy')} VS ${dateFns.format(compareDatetime, 'yyyy')}`; + } + analysis: + exclude: true + legend: + unit: + label: K + type: gradient + min: -20 + max: 300 + stops: + - '#3b4cc0' + - '#7b9ff9' + - '#c0d4f5' + - '#f2cbb7' + - '#ee8468' + - '#b40426' + + - id: climdex-tmaxxf-access-cm2-ssp370-110 + stacCol: climdex-tmaxxf-access-cm2-ssp370 + name: CMIP6 Daily GISS-E2-1-G Near-Surface Air Temperature (ACCESS-CM2 ssp370) + type: raster + description: "Yearly mean near surface (2015-2100) (usually, 2 meter) air temperature in Kelvin. Threshold 110K" + zoomExtent: + - 0 + - 20 + sourceParams: + assets: tmax_above_110 + resampling_method: bilinear + variable: tas + colormap_name: coolwarm + rescale: -20,300 + maxzoom: 12 + compare: + datasetId: climdex-tmaxxf-access-cm2 + layerId: climdex-tmaxxf-access-cm2-ssp370-110 + mapLabel: | + ::js ({ dateFns, datetime, compareDatetime }) => { + if (dateFns && datetime && compareDatetime) return `${dateFns.format(datetime, 'yyyy')} VS ${dateFns.format(compareDatetime, 'yyyy')}`; + } + analysis: + exclude: true + legend: + unit: + label: K + type: gradient + min: -20 + max: 300 + stops: + - '#3b4cc0' + - '#7b9ff9' + - '#c0d4f5' + - '#f2cbb7' + - '#ee8468' + - '#b40426' + - id: climdex-tmaxxf-access-cm2-ssp585-110 + stacCol: climdex-tmaxxf-access-cm2-ssp585 + name: CMIP6 Daily GISS-E2-1-G Near-Surface Air Temperature (ACCESS-CM2 ssp585) + type: raster + description: "Yearly mean near surface (2015-2100) (usually, 2 meter) air temperature in Kelvin. Threshold 110K" + zoomExtent: + - 0 + - 20 + sourceParams: + assets: tmax_above_110 + resampling_method: bilinear + variable: tas + colormap_name: coolwarm + rescale: -20,300 + maxzoom: 12 + compare: + datasetId: climdex-tmaxxf-access-cm2 + layerId: climdex-tmaxxf-access-cm2-ssp585-110 + mapLabel: | + ::js ({ dateFns, datetime, compareDatetime }) => { + if (dateFns && datetime && compareDatetime) return `${dateFns.format(datetime, 'yyyy')} VS ${dateFns.format(compareDatetime, 'yyyy')}`; + } + analysis: + exclude: true + legend: + unit: + label: K + type: gradient + min: -20 + max: 300 + stops: + - '#3b4cc0' + - '#7b9ff9' + - '#c0d4f5' + - '#f2cbb7' + - '#ee8468' + - '#b40426' + - id: climdex-tmaxxf-access-cm2-ssp126-115 + stacCol: climdex-tmaxxf-access-cm2-ssp126 + name: CMIP6 Daily GISS-E2-1-G Near-Surface Air Temperature (ACCESS-CM2 ssp126) + type: raster + description: "Yearly mean near surface (2015-2100) (usually, 2 meter) air temperature in Kelvin. Threshold 115K" + zoomExtent: + - 0 + - 20 + sourceParams: + assets: tmax_above_115 + resampling_method: bilinear + variable: tas + colormap_name: coolwarm + rescale: -20,300 + maxzoom: 12 + compare: + datasetId: climdex-tmaxxf-access-cm2 + layerId: climdex-tmaxxf-access-cm2-ssp126-115 + mapLabel: | + ::js ({ dateFns, datetime, compareDatetime }) => { + if (dateFns && datetime && compareDatetime) return `${dateFns.format(datetime, 'yyyy')} VS ${dateFns.format(compareDatetime, 'yyyy')}`; + } + analysis: + exclude: true + legend: + unit: + label: K + type: gradient + min: -20 + max: 300 + stops: + - '#3b4cc0' + - '#7b9ff9' + - '#c0d4f5' + - '#f2cbb7' + - '#ee8468' + - '#b40426' + - id: climdex-tmaxxf-access-cm2-ssp245-115 + stacCol: climdex-tmaxxf-access-cm2-ssp245 + name: CMIP6 Daily GISS-E2-1-G Near-Surface Air Temperature (ACCESS-CM2 ssp245) + type: raster + description: "Yearly mean near surface (2015-2100) (usually, 2 meter) air temperature in Kelvin. Threshold 115K" + zoomExtent: + - 0 + - 20 + sourceParams: + assets: tmax_above_115 + resampling_method: bilinear + variable: tas + colormap_name: coolwarm + rescale: -20,300 + maxzoom: 12 + compare: + datasetId: climdex-tmaxxf-access-cm2 + layerId: climdex-tmaxxf-access-cm2-ssp245-115 + mapLabel: | + ::js ({ dateFns, datetime, compareDatetime }) => { + if (dateFns && datetime && compareDatetime) return `${dateFns.format(datetime, 'yyyy')} VS ${dateFns.format(compareDatetime, 'yyyy')}`; + } + analysis: + exclude: true + legend: + unit: + label: K + type: gradient + min: -20 + max: 300 + stops: + - '#3b4cc0' + - '#7b9ff9' + - '#c0d4f5' + - '#f2cbb7' + - '#ee8468' + - '#b40426' + + - id: climdex-tmaxxf-access-cm2-ssp370-115 + stacCol: climdex-tmaxxf-access-cm2-ssp370 + name: CMIP6 Daily GISS-E2-1-G Near-Surface Air Temperature (ACCESS-CM2 ssp370) + type: raster + description: "Yearly mean near surface (2015-2100) (usually, 2 meter) air temperature in Kelvin. Threshold 115K" + zoomExtent: + - 0 + - 20 + sourceParams: + assets: tmax_above_115 + resampling_method: bilinear + variable: tas + colormap_name: coolwarm + rescale: -20,300 + maxzoom: 12 + compare: + datasetId: climdex-tmaxxf-access-cm2 + layerId: climdex-tmaxxf-access-cm2-ssp370-115 + mapLabel: | + ::js ({ dateFns, datetime, compareDatetime }) => { + if (dateFns && datetime && compareDatetime) return `${dateFns.format(datetime, 'yyyy')} VS ${dateFns.format(compareDatetime, 'yyyy')}`; + } + analysis: + exclude: true + legend: + unit: + label: K + type: gradient + min: -20 + max: 300 + stops: + - '#3b4cc0' + - '#7b9ff9' + - '#c0d4f5' + - '#f2cbb7' + - '#ee8468' + - '#b40426' + - id: climdex-tmaxxf-access-cm2-ssp585-115 + stacCol: climdex-tmaxxf-access-cm2-ssp585 + name: CMIP6 Daily GISS-E2-1-G Near-Surface Air Temperature (ACCESS-CM2 ssp585) + type: raster + description: "Yearly mean near surface (2015-2100) (usually, 2 meter) air temperature in Kelvin. Threshold 115K" + zoomExtent: + - 0 + - 20 + sourceParams: + assets: tmax_above_115 + resampling_method: bilinear + variable: tas + colormap_name: coolwarm + rescale: -20,300 + maxzoom: 12 + compare: + datasetId: climdex-tmaxxf-access-cm2 + layerId: climdex-tmaxxf-access-cm2-ssp585-115 + mapLabel: | + ::js ({ dateFns, datetime, compareDatetime }) => { + if (dateFns && datetime && compareDatetime) return `${dateFns.format(datetime, 'yyyy')} VS ${dateFns.format(compareDatetime, 'yyyy')}`; + } + analysis: + exclude: true + legend: + unit: + label: K + type: gradient + min: -20 + max: 300 + stops: + - '#3b4cc0' + - '#7b9ff9' + - '#c0d4f5' + - '#f2cbb7' + - '#ee8468' + - '#b40426' --- @@ -73,9 +790,9 @@ There are 2 datasets listed on the AWS Registry of Open Data for [NEX-GDDP-CMIP6 ### This dataset represents a subset of NEX-GDDP-CMIP6 -VEDA is hosting a single JSON file which references a subset of the NEX-GDDP-CMIP6 data in NetCDF. We used the [kerchunk](https://fsspec.github.io/kerchunk/) python library to create a JSON file - often called a reference file - which is an index of the chunks of the data stored in the original [NetCDF](https://www.unidata.ucar.edu/software/netcdf/) files. This can be considered a "virtual" Zarr dataset. The virtual Zarr dataset (aka the kerchunk reference file) is used by a dynamic tiling library ([titiler-xarray](https://github.com/developmentseed/titiler-xarray)) to create image tiles from the underlying data. The indexes were generated for the near-surface air temperature variable (TAS) for years 1950-2014, the historical extent of the NEX-GDDP-CMIP6 project. +VEDA is hosting a single JSON file which references a subset of the NEX-GDDP-CMIP6 data in NetCDF. We used the [kerchunk](https://fsspec.github.io/kerchunk/) python library to create a JSON file - often called a reference file - which is an index of the chunks of the data stored in the original [NetCDF](https://www.unidata.ucar.edu/software/netcdf/) files. This can be considered a "virtual" raster dataset. The virtual raster dataset (aka the kerchunk reference file) is used by a dynamic tiling library ([titiler-xarray](https://github.com/developmentseed/titiler-xarray)) to create image tiles from the underlying data. The indexes were generated for the near-surface air temperature variable (TAS) for years 1950-2014, the historical extent of the NEX-GDDP-CMIP6 project. -We are using these methods to demonstrate a method for visualizing a "virtual" Zarr dataset which allows for dynamic visualization without having to create and maintain any additional copies of data. +We are using these methods to demonstrate a method for visualizing a "virtual" raster dataset which allows for dynamic visualization without having to create and maintain any additional copies of data.