diff --git a/current/catalog.json b/current/catalog.json index 80e70a2e12..6ea28a785b 100644 --- a/current/catalog.json +++ b/current/catalog.json @@ -141,6 +141,12 @@ "href": "./cfhp/collection.json", "type": "application/json", "title": "Coastal Hazard Flood Projections" + }, + { + "rel": "child", + "href": "./slp/collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" } ], "assets": { diff --git a/current/slp/collection.json b/current/slp/collection.json new file mode 100644 index 0000000000..bd4eb64f74 --- /dev/null +++ b/current/slp/collection.json @@ -0,0 +1,885 @@ +{ + "type": "Collection", + "id": "slp", + "stac_version": "1.0.0", + "description": "The MSL_CIS_HIGH-END dataset provides AR6-based regional mean sea level projections following the High-end in 2030, 2040, 2050, 2060, 2070, 2080, 2090, 2100, 2110, 2120, 2130, 2140 and 2150 with respect to the baseline period 1995-2014 at a resolution of 1\u00b0 x 1\u00b0.", + "links": [ + { + "rel": "item", + "href": "./items/high_end/msl_h/2031.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_h/2041.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_h/2051.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_h/2061.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_h/2071.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_h/2081.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_h/2091.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_h/2101.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_h/2111.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_h/2121.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_h/2131.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_h/2141.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_h/2151.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_m/2031.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_m/2041.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_m/2051.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_m/2061.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_m/2071.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_m/2081.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_m/2091.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_m/2101.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_m/2111.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_m/2121.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_m/2131.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_m/2141.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_m/2151.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_l/2031.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_l/2041.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_l/2051.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_l/2061.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_l/2071.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_l/2081.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_l/2091.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_l/2101.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_l/2111.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_l/2121.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_l/2131.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_l/2141.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/high_end/msl_l/2151.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_h/2031.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_h/2041.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_h/2051.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_h/2061.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_h/2071.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_h/2081.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_h/2091.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_h/2101.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_h/2111.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_h/2121.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_h/2131.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_h/2141.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_h/2151.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_m/2031.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_m/2041.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_m/2051.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_m/2061.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_m/2071.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_m/2081.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_m/2091.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_m/2101.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_m/2111.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_m/2121.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_m/2131.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_m/2141.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_m/2151.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_l/2031.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_l/2041.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_l/2051.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_l/2061.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_l/2071.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_l/2081.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_l/2091.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_l/2101.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_l/2111.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_l/2121.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_l/2131.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_l/2141.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp126/msl_l/2151.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_h/2031.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_h/2041.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_h/2051.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_h/2061.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_h/2071.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_h/2081.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_h/2091.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_h/2101.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_h/2111.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_h/2121.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_h/2131.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_h/2141.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_h/2151.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_m/2031.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_m/2041.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_m/2051.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_m/2061.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_m/2071.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_m/2081.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_m/2091.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_m/2101.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_m/2111.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_m/2121.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_m/2131.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_m/2141.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_m/2151.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_l/2031.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_l/2041.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_l/2051.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_l/2061.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_l/2071.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_l/2081.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_l/2091.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_l/2101.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_l/2111.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_l/2121.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_l/2131.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_l/2141.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp245/msl_l/2151.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_h/2031.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_h/2041.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_h/2051.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_h/2061.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_h/2071.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_h/2081.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_h/2091.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_h/2101.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_h/2111.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_h/2121.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_h/2131.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_h/2141.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_h/2151.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_m/2031.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_m/2041.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_m/2051.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_m/2061.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_m/2071.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_m/2081.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_m/2091.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_m/2101.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_m/2111.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_m/2121.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_m/2131.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_m/2141.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_m/2151.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_l/2031.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_l/2041.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_l/2051.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_l/2061.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_l/2071.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_l/2081.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_l/2091.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_l/2101.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_l/2111.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_l/2121.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_l/2131.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_l/2141.json", + "type": "application/json" + }, + { + "rel": "item", + "href": "./items/ssp585/msl_l/2151.json", + "type": "application/json" + }, + { + "rel": "root", + "href": "../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + } + ], + "stac_extensions": [ + "https://raw.githubusercontent.com/openearth/coclicodata/feat/update-deltares-stac-properties/json-schema/schema.json" + ], + "deltares:units": "m", + "deltares:plotSeries": "scenario", + "deltares:plotxAxis": "time", + "deltares:plotType": "line", + "deltares:min": 0, + "deltares:max": 3, + "deltares:linearGradient": [ + { + "color": "hsl(0,90%,80%)", + "offset": "0.000%", + "opacity": 100 + }, + { + "color": "hsla(55,88%,53%,0.5)", + "offset": "50.000%", + "opacity": 100 + }, + { + "color": "hsl(110,90%,70%)", + "offset": "100.000%", + "opacity": 100 + } + ], + "item_assets": { + "data": { + "type": "image/tiff; application=geotiff; profile=cloud-optimized" + } + }, + "title": "Global Sea Level Projections", + "extent": { + "spatial": { + "bbox": [ + [ + -180.0, + -90.0, + 180.0, + 90.0 + ] + ] + }, + "temporal": { + "interval": [ + [ + null, + null + ] + ] + } + }, + "license": "CC-BY-4.0", + "keywords": [ + "mean sea level", + "sea level rise", + "IPCC AR6", + "Sea Levels", + "Full-Track" + ], + "providers": [ + { + "name": "Deltares", + "roles": [ + "processor", + "host" + ], + "url": "https://deltares.nl" + }, + { + "name": "BRGM, French Geological Survey", + "description": "BRGM, the French geological survey, is France\u2019s leading public institution for Earth Science applications for the management of surface and sub-surface resources with a view to sustainable development. Under partnerships with numerous public and private stakeholders, BRGM focuses on scientific research, expertise and innovation. Its activity meets 4 objectives: understanding geological phenomena and related risks, developing new techniques and methodologies, producing and distributing data for surface, subsurface and resource management, providing the tools required to manage the surface, subsurface and resources, prevent risks and pollution, and manage policies in response to climate change.", + "roles": [ + "producer" + ], + "url": "www.brgm.fr" + } + ], + "assets": { + "thumbnail": { + "href": "https://storage.googleapis.com/dgds-data-public/coclico/assets/thumbnails/slp.png", + "type": "image/png", + "title": "Thumbnail" + } + } +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_h/2031.json b/current/slp/items/high_end/msl_h/2031.json new file mode 100644 index 0000000000..4e7932c694 --- /dev/null +++ b/current/slp/items/high_end/msl_h/2031.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_h\\2031.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2031-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_h/2031.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_h/2041.json b/current/slp/items/high_end/msl_h/2041.json new file mode 100644 index 0000000000..dcb7a5213d --- /dev/null +++ b/current/slp/items/high_end/msl_h/2041.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_h\\2041.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2041-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_h/2041.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_h/2051.json b/current/slp/items/high_end/msl_h/2051.json new file mode 100644 index 0000000000..796464480f --- /dev/null +++ b/current/slp/items/high_end/msl_h/2051.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_h\\2051.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2051-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_h/2051.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_h/2061.json b/current/slp/items/high_end/msl_h/2061.json new file mode 100644 index 0000000000..79a8bb010b --- /dev/null +++ b/current/slp/items/high_end/msl_h/2061.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_h\\2061.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2061-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_h/2061.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_h/2071.json b/current/slp/items/high_end/msl_h/2071.json new file mode 100644 index 0000000000..87070528e8 --- /dev/null +++ b/current/slp/items/high_end/msl_h/2071.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_h\\2071.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2071-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_h/2071.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_h/2081.json b/current/slp/items/high_end/msl_h/2081.json new file mode 100644 index 0000000000..697fc19a6d --- /dev/null +++ b/current/slp/items/high_end/msl_h/2081.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_h\\2081.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2081-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_h/2081.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_h/2091.json b/current/slp/items/high_end/msl_h/2091.json new file mode 100644 index 0000000000..3f1d1436d3 --- /dev/null +++ b/current/slp/items/high_end/msl_h/2091.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_h\\2091.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2091-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_h/2091.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_h/2101.json b/current/slp/items/high_end/msl_h/2101.json new file mode 100644 index 0000000000..91d54ea7d5 --- /dev/null +++ b/current/slp/items/high_end/msl_h/2101.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_h\\2101.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2101-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_h/2101.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_h/2111.json b/current/slp/items/high_end/msl_h/2111.json new file mode 100644 index 0000000000..20365319f5 --- /dev/null +++ b/current/slp/items/high_end/msl_h/2111.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_h\\2111.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2111-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_h/2111.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_h/2121.json b/current/slp/items/high_end/msl_h/2121.json new file mode 100644 index 0000000000..021112e94c --- /dev/null +++ b/current/slp/items/high_end/msl_h/2121.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_h\\2121.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2121-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_h/2121.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_h/2131.json b/current/slp/items/high_end/msl_h/2131.json new file mode 100644 index 0000000000..79966d7304 --- /dev/null +++ b/current/slp/items/high_end/msl_h/2131.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_h\\2131.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2131-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_h/2131.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_h/2141.json b/current/slp/items/high_end/msl_h/2141.json new file mode 100644 index 0000000000..491b474011 --- /dev/null +++ b/current/slp/items/high_end/msl_h/2141.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_h\\2141.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2141-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_h/2141.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_h/2151.json b/current/slp/items/high_end/msl_h/2151.json new file mode 100644 index 0000000000..ea320ad660 --- /dev/null +++ b/current/slp/items/high_end/msl_h/2151.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_h\\2151.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2151-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_h/2151.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_l/2031.json b/current/slp/items/high_end/msl_l/2031.json new file mode 100644 index 0000000000..e4df5a992a --- /dev/null +++ b/current/slp/items/high_end/msl_l/2031.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_l\\2031.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2031-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_l/2031.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_l/2041.json b/current/slp/items/high_end/msl_l/2041.json new file mode 100644 index 0000000000..47d0210baf --- /dev/null +++ b/current/slp/items/high_end/msl_l/2041.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_l\\2041.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2041-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_l/2041.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_l/2051.json b/current/slp/items/high_end/msl_l/2051.json new file mode 100644 index 0000000000..ece5522150 --- /dev/null +++ b/current/slp/items/high_end/msl_l/2051.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_l\\2051.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2051-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_l/2051.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_l/2061.json b/current/slp/items/high_end/msl_l/2061.json new file mode 100644 index 0000000000..8bc9df7bf9 --- /dev/null +++ b/current/slp/items/high_end/msl_l/2061.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_l\\2061.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2061-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_l/2061.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_l/2071.json b/current/slp/items/high_end/msl_l/2071.json new file mode 100644 index 0000000000..a3ca2d88d6 --- /dev/null +++ b/current/slp/items/high_end/msl_l/2071.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_l\\2071.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2071-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_l/2071.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_l/2081.json b/current/slp/items/high_end/msl_l/2081.json new file mode 100644 index 0000000000..5e8e085565 --- /dev/null +++ b/current/slp/items/high_end/msl_l/2081.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_l\\2081.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2081-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_l/2081.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_l/2091.json b/current/slp/items/high_end/msl_l/2091.json new file mode 100644 index 0000000000..9176daf97a --- /dev/null +++ b/current/slp/items/high_end/msl_l/2091.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_l\\2091.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2091-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_l/2091.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_l/2101.json b/current/slp/items/high_end/msl_l/2101.json new file mode 100644 index 0000000000..81515d3d2e --- /dev/null +++ b/current/slp/items/high_end/msl_l/2101.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_l\\2101.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2101-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_l/2101.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_l/2111.json b/current/slp/items/high_end/msl_l/2111.json new file mode 100644 index 0000000000..d3f46c6027 --- /dev/null +++ b/current/slp/items/high_end/msl_l/2111.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_l\\2111.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2111-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_l/2111.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_l/2121.json b/current/slp/items/high_end/msl_l/2121.json new file mode 100644 index 0000000000..236fd67bda --- /dev/null +++ b/current/slp/items/high_end/msl_l/2121.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_l\\2121.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2121-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_l/2121.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_l/2131.json b/current/slp/items/high_end/msl_l/2131.json new file mode 100644 index 0000000000..ba07afa45a --- /dev/null +++ b/current/slp/items/high_end/msl_l/2131.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_l\\2131.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2131-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_l/2131.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_l/2141.json b/current/slp/items/high_end/msl_l/2141.json new file mode 100644 index 0000000000..6ca865e84a --- /dev/null +++ b/current/slp/items/high_end/msl_l/2141.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_l\\2141.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2141-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_l/2141.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_l/2151.json b/current/slp/items/high_end/msl_l/2151.json new file mode 100644 index 0000000000..f9771e6276 --- /dev/null +++ b/current/slp/items/high_end/msl_l/2151.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_l\\2151.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2151-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_l/2151.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_m/2031.json b/current/slp/items/high_end/msl_m/2031.json new file mode 100644 index 0000000000..193c1c5b28 --- /dev/null +++ b/current/slp/items/high_end/msl_m/2031.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_m\\2031.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2031-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_m/2031.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_m/2041.json b/current/slp/items/high_end/msl_m/2041.json new file mode 100644 index 0000000000..9d8da9617c --- /dev/null +++ b/current/slp/items/high_end/msl_m/2041.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_m\\2041.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2041-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_m/2041.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_m/2051.json b/current/slp/items/high_end/msl_m/2051.json new file mode 100644 index 0000000000..6d53fc95be --- /dev/null +++ b/current/slp/items/high_end/msl_m/2051.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_m\\2051.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2051-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_m/2051.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_m/2061.json b/current/slp/items/high_end/msl_m/2061.json new file mode 100644 index 0000000000..daa8d8eb93 --- /dev/null +++ b/current/slp/items/high_end/msl_m/2061.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_m\\2061.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2061-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_m/2061.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_m/2071.json b/current/slp/items/high_end/msl_m/2071.json new file mode 100644 index 0000000000..bcf9b6da04 --- /dev/null +++ b/current/slp/items/high_end/msl_m/2071.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_m\\2071.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2071-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_m/2071.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_m/2081.json b/current/slp/items/high_end/msl_m/2081.json new file mode 100644 index 0000000000..eb03d1cf0a --- /dev/null +++ b/current/slp/items/high_end/msl_m/2081.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_m\\2081.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2081-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_m/2081.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_m/2091.json b/current/slp/items/high_end/msl_m/2091.json new file mode 100644 index 0000000000..2e17c25c47 --- /dev/null +++ b/current/slp/items/high_end/msl_m/2091.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_m\\2091.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2091-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_m/2091.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_m/2101.json b/current/slp/items/high_end/msl_m/2101.json new file mode 100644 index 0000000000..cabd245480 --- /dev/null +++ b/current/slp/items/high_end/msl_m/2101.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_m\\2101.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2101-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_m/2101.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_m/2111.json b/current/slp/items/high_end/msl_m/2111.json new file mode 100644 index 0000000000..c16ae96fb1 --- /dev/null +++ b/current/slp/items/high_end/msl_m/2111.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_m\\2111.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2111-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_m/2111.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_m/2121.json b/current/slp/items/high_end/msl_m/2121.json new file mode 100644 index 0000000000..0079a30bec --- /dev/null +++ b/current/slp/items/high_end/msl_m/2121.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_m\\2121.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2121-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_m/2121.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_m/2131.json b/current/slp/items/high_end/msl_m/2131.json new file mode 100644 index 0000000000..dd800eef63 --- /dev/null +++ b/current/slp/items/high_end/msl_m/2131.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_m\\2131.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2131-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_m/2131.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_m/2141.json b/current/slp/items/high_end/msl_m/2141.json new file mode 100644 index 0000000000..494f5e63c6 --- /dev/null +++ b/current/slp/items/high_end/msl_m/2141.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_m\\2141.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2141-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_m/2141.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/high_end/msl_m/2151.json b/current/slp/items/high_end/msl_m/2151.json new file mode 100644 index 0000000000..ee94aaac5e --- /dev/null +++ b/current/slp/items/high_end/msl_m/2151.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "high_end\\msl_m\\2151.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2151-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/high_end/msl_m/2151.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_h/2031.json b/current/slp/items/ssp126/msl_h/2031.json new file mode 100644 index 0000000000..5d2fefbfb5 --- /dev/null +++ b/current/slp/items/ssp126/msl_h/2031.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_h\\2031.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2031-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_h/2031.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_h/2041.json b/current/slp/items/ssp126/msl_h/2041.json new file mode 100644 index 0000000000..9b6fc45fe9 --- /dev/null +++ b/current/slp/items/ssp126/msl_h/2041.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_h\\2041.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2041-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_h/2041.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_h/2051.json b/current/slp/items/ssp126/msl_h/2051.json new file mode 100644 index 0000000000..cedd0e940a --- /dev/null +++ b/current/slp/items/ssp126/msl_h/2051.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_h\\2051.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2051-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_h/2051.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_h/2061.json b/current/slp/items/ssp126/msl_h/2061.json new file mode 100644 index 0000000000..83c22a0b02 --- /dev/null +++ b/current/slp/items/ssp126/msl_h/2061.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_h\\2061.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2061-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_h/2061.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_h/2071.json b/current/slp/items/ssp126/msl_h/2071.json new file mode 100644 index 0000000000..5b785a60ac --- /dev/null +++ b/current/slp/items/ssp126/msl_h/2071.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_h\\2071.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2071-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_h/2071.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_h/2081.json b/current/slp/items/ssp126/msl_h/2081.json new file mode 100644 index 0000000000..3493701f0d --- /dev/null +++ b/current/slp/items/ssp126/msl_h/2081.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_h\\2081.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2081-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_h/2081.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_h/2091.json b/current/slp/items/ssp126/msl_h/2091.json new file mode 100644 index 0000000000..0cdb3b9eba --- /dev/null +++ b/current/slp/items/ssp126/msl_h/2091.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_h\\2091.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2091-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_h/2091.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_h/2101.json b/current/slp/items/ssp126/msl_h/2101.json new file mode 100644 index 0000000000..5b7284c57d --- /dev/null +++ b/current/slp/items/ssp126/msl_h/2101.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_h\\2101.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2101-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_h/2101.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_h/2111.json b/current/slp/items/ssp126/msl_h/2111.json new file mode 100644 index 0000000000..d1c7e176e7 --- /dev/null +++ b/current/slp/items/ssp126/msl_h/2111.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_h\\2111.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2111-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_h/2111.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_h/2121.json b/current/slp/items/ssp126/msl_h/2121.json new file mode 100644 index 0000000000..cac79d6f14 --- /dev/null +++ b/current/slp/items/ssp126/msl_h/2121.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_h\\2121.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2121-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_h/2121.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_h/2131.json b/current/slp/items/ssp126/msl_h/2131.json new file mode 100644 index 0000000000..6da45d6402 --- /dev/null +++ b/current/slp/items/ssp126/msl_h/2131.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_h\\2131.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2131-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_h/2131.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_h/2141.json b/current/slp/items/ssp126/msl_h/2141.json new file mode 100644 index 0000000000..601db2e31c --- /dev/null +++ b/current/slp/items/ssp126/msl_h/2141.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_h\\2141.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2141-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_h/2141.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_h/2151.json b/current/slp/items/ssp126/msl_h/2151.json new file mode 100644 index 0000000000..328d360436 --- /dev/null +++ b/current/slp/items/ssp126/msl_h/2151.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_h\\2151.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2151-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_h/2151.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_l/2031.json b/current/slp/items/ssp126/msl_l/2031.json new file mode 100644 index 0000000000..84a4c05365 --- /dev/null +++ b/current/slp/items/ssp126/msl_l/2031.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_l\\2031.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2031-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_l/2031.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_l/2041.json b/current/slp/items/ssp126/msl_l/2041.json new file mode 100644 index 0000000000..7cba0fadc4 --- /dev/null +++ b/current/slp/items/ssp126/msl_l/2041.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_l\\2041.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2041-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_l/2041.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_l/2051.json b/current/slp/items/ssp126/msl_l/2051.json new file mode 100644 index 0000000000..b0a2d4a4ed --- /dev/null +++ b/current/slp/items/ssp126/msl_l/2051.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_l\\2051.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2051-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_l/2051.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_l/2061.json b/current/slp/items/ssp126/msl_l/2061.json new file mode 100644 index 0000000000..434da2be89 --- /dev/null +++ b/current/slp/items/ssp126/msl_l/2061.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_l\\2061.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2061-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_l/2061.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_l/2071.json b/current/slp/items/ssp126/msl_l/2071.json new file mode 100644 index 0000000000..23b7cb2306 --- /dev/null +++ b/current/slp/items/ssp126/msl_l/2071.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_l\\2071.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2071-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_l/2071.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_l/2081.json b/current/slp/items/ssp126/msl_l/2081.json new file mode 100644 index 0000000000..e8cbdd1f65 --- /dev/null +++ b/current/slp/items/ssp126/msl_l/2081.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_l\\2081.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2081-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_l/2081.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_l/2091.json b/current/slp/items/ssp126/msl_l/2091.json new file mode 100644 index 0000000000..d381946a60 --- /dev/null +++ b/current/slp/items/ssp126/msl_l/2091.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_l\\2091.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2091-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_l/2091.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_l/2101.json b/current/slp/items/ssp126/msl_l/2101.json new file mode 100644 index 0000000000..6bbc1f8865 --- /dev/null +++ b/current/slp/items/ssp126/msl_l/2101.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_l\\2101.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2101-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_l/2101.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_l/2111.json b/current/slp/items/ssp126/msl_l/2111.json new file mode 100644 index 0000000000..b431e5f680 --- /dev/null +++ b/current/slp/items/ssp126/msl_l/2111.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_l\\2111.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2111-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_l/2111.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_l/2121.json b/current/slp/items/ssp126/msl_l/2121.json new file mode 100644 index 0000000000..8791b73411 --- /dev/null +++ b/current/slp/items/ssp126/msl_l/2121.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_l\\2121.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2121-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_l/2121.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_l/2131.json b/current/slp/items/ssp126/msl_l/2131.json new file mode 100644 index 0000000000..f25495e082 --- /dev/null +++ b/current/slp/items/ssp126/msl_l/2131.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_l\\2131.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2131-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_l/2131.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_l/2141.json b/current/slp/items/ssp126/msl_l/2141.json new file mode 100644 index 0000000000..2c83c572ea --- /dev/null +++ b/current/slp/items/ssp126/msl_l/2141.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_l\\2141.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2141-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_l/2141.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_l/2151.json b/current/slp/items/ssp126/msl_l/2151.json new file mode 100644 index 0000000000..23ce3ab88f --- /dev/null +++ b/current/slp/items/ssp126/msl_l/2151.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_l\\2151.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2151-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_l/2151.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_m/2031.json b/current/slp/items/ssp126/msl_m/2031.json new file mode 100644 index 0000000000..0ab27329b9 --- /dev/null +++ b/current/slp/items/ssp126/msl_m/2031.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_m\\2031.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2031-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_m/2031.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_m/2041.json b/current/slp/items/ssp126/msl_m/2041.json new file mode 100644 index 0000000000..6836016911 --- /dev/null +++ b/current/slp/items/ssp126/msl_m/2041.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_m\\2041.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2041-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_m/2041.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_m/2051.json b/current/slp/items/ssp126/msl_m/2051.json new file mode 100644 index 0000000000..2cb80c0623 --- /dev/null +++ b/current/slp/items/ssp126/msl_m/2051.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_m\\2051.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2051-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_m/2051.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_m/2061.json b/current/slp/items/ssp126/msl_m/2061.json new file mode 100644 index 0000000000..250824bb3d --- /dev/null +++ b/current/slp/items/ssp126/msl_m/2061.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_m\\2061.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2061-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_m/2061.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_m/2071.json b/current/slp/items/ssp126/msl_m/2071.json new file mode 100644 index 0000000000..af3b93fd3f --- /dev/null +++ b/current/slp/items/ssp126/msl_m/2071.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_m\\2071.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2071-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_m/2071.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_m/2081.json b/current/slp/items/ssp126/msl_m/2081.json new file mode 100644 index 0000000000..a5b2d2d0ac --- /dev/null +++ b/current/slp/items/ssp126/msl_m/2081.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_m\\2081.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2081-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_m/2081.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_m/2091.json b/current/slp/items/ssp126/msl_m/2091.json new file mode 100644 index 0000000000..edea16b375 --- /dev/null +++ b/current/slp/items/ssp126/msl_m/2091.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_m\\2091.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2091-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_m/2091.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_m/2101.json b/current/slp/items/ssp126/msl_m/2101.json new file mode 100644 index 0000000000..73fa3ff032 --- /dev/null +++ b/current/slp/items/ssp126/msl_m/2101.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_m\\2101.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2101-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_m/2101.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_m/2111.json b/current/slp/items/ssp126/msl_m/2111.json new file mode 100644 index 0000000000..463cb54466 --- /dev/null +++ b/current/slp/items/ssp126/msl_m/2111.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_m\\2111.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2111-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_m/2111.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_m/2121.json b/current/slp/items/ssp126/msl_m/2121.json new file mode 100644 index 0000000000..e18a58ac0b --- /dev/null +++ b/current/slp/items/ssp126/msl_m/2121.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_m\\2121.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2121-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_m/2121.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_m/2131.json b/current/slp/items/ssp126/msl_m/2131.json new file mode 100644 index 0000000000..6f6e1e654e --- /dev/null +++ b/current/slp/items/ssp126/msl_m/2131.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_m\\2131.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2131-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_m/2131.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_m/2141.json b/current/slp/items/ssp126/msl_m/2141.json new file mode 100644 index 0000000000..9bf5e80955 --- /dev/null +++ b/current/slp/items/ssp126/msl_m/2141.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_m\\2141.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2141-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_m/2141.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp126/msl_m/2151.json b/current/slp/items/ssp126/msl_m/2151.json new file mode 100644 index 0000000000..56579c74a4 --- /dev/null +++ b/current/slp/items/ssp126/msl_m/2151.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp126\\msl_m\\2151.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2151-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp126/msl_m/2151.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_h/2031.json b/current/slp/items/ssp245/msl_h/2031.json new file mode 100644 index 0000000000..dfeeb9f713 --- /dev/null +++ b/current/slp/items/ssp245/msl_h/2031.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_h\\2031.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2031-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_h/2031.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_h/2041.json b/current/slp/items/ssp245/msl_h/2041.json new file mode 100644 index 0000000000..6e216b9956 --- /dev/null +++ b/current/slp/items/ssp245/msl_h/2041.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_h\\2041.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2041-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_h/2041.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_h/2051.json b/current/slp/items/ssp245/msl_h/2051.json new file mode 100644 index 0000000000..027cd4dd68 --- /dev/null +++ b/current/slp/items/ssp245/msl_h/2051.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_h\\2051.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2051-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_h/2051.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_h/2061.json b/current/slp/items/ssp245/msl_h/2061.json new file mode 100644 index 0000000000..cffd78be95 --- /dev/null +++ b/current/slp/items/ssp245/msl_h/2061.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_h\\2061.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2061-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_h/2061.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_h/2071.json b/current/slp/items/ssp245/msl_h/2071.json new file mode 100644 index 0000000000..de57b78631 --- /dev/null +++ b/current/slp/items/ssp245/msl_h/2071.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_h\\2071.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2071-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_h/2071.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_h/2081.json b/current/slp/items/ssp245/msl_h/2081.json new file mode 100644 index 0000000000..b08d3ceaa4 --- /dev/null +++ b/current/slp/items/ssp245/msl_h/2081.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_h\\2081.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2081-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_h/2081.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_h/2091.json b/current/slp/items/ssp245/msl_h/2091.json new file mode 100644 index 0000000000..b211b9c77e --- /dev/null +++ b/current/slp/items/ssp245/msl_h/2091.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_h\\2091.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2091-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_h/2091.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_h/2101.json b/current/slp/items/ssp245/msl_h/2101.json new file mode 100644 index 0000000000..2df1ae47fd --- /dev/null +++ b/current/slp/items/ssp245/msl_h/2101.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_h\\2101.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2101-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_h/2101.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_h/2111.json b/current/slp/items/ssp245/msl_h/2111.json new file mode 100644 index 0000000000..506e4b1a55 --- /dev/null +++ b/current/slp/items/ssp245/msl_h/2111.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_h\\2111.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2111-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_h/2111.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_h/2121.json b/current/slp/items/ssp245/msl_h/2121.json new file mode 100644 index 0000000000..f202d1f1bf --- /dev/null +++ b/current/slp/items/ssp245/msl_h/2121.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_h\\2121.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2121-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_h/2121.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_h/2131.json b/current/slp/items/ssp245/msl_h/2131.json new file mode 100644 index 0000000000..712bbbd97d --- /dev/null +++ b/current/slp/items/ssp245/msl_h/2131.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_h\\2131.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2131-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_h/2131.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_h/2141.json b/current/slp/items/ssp245/msl_h/2141.json new file mode 100644 index 0000000000..83c0029e0f --- /dev/null +++ b/current/slp/items/ssp245/msl_h/2141.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_h\\2141.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2141-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_h/2141.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_h/2151.json b/current/slp/items/ssp245/msl_h/2151.json new file mode 100644 index 0000000000..87b37a4af0 --- /dev/null +++ b/current/slp/items/ssp245/msl_h/2151.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_h\\2151.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2151-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_h/2151.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_l/2031.json b/current/slp/items/ssp245/msl_l/2031.json new file mode 100644 index 0000000000..4d7d43659c --- /dev/null +++ b/current/slp/items/ssp245/msl_l/2031.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_l\\2031.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2031-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_l/2031.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_l/2041.json b/current/slp/items/ssp245/msl_l/2041.json new file mode 100644 index 0000000000..34523f1db4 --- /dev/null +++ b/current/slp/items/ssp245/msl_l/2041.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_l\\2041.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2041-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_l/2041.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_l/2051.json b/current/slp/items/ssp245/msl_l/2051.json new file mode 100644 index 0000000000..b9930c055b --- /dev/null +++ b/current/slp/items/ssp245/msl_l/2051.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_l\\2051.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2051-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_l/2051.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_l/2061.json b/current/slp/items/ssp245/msl_l/2061.json new file mode 100644 index 0000000000..6b9a764a58 --- /dev/null +++ b/current/slp/items/ssp245/msl_l/2061.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_l\\2061.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2061-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_l/2061.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_l/2071.json b/current/slp/items/ssp245/msl_l/2071.json new file mode 100644 index 0000000000..7640a49dfb --- /dev/null +++ b/current/slp/items/ssp245/msl_l/2071.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_l\\2071.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2071-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_l/2071.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_l/2081.json b/current/slp/items/ssp245/msl_l/2081.json new file mode 100644 index 0000000000..a0a4531eda --- /dev/null +++ b/current/slp/items/ssp245/msl_l/2081.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_l\\2081.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2081-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_l/2081.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_l/2091.json b/current/slp/items/ssp245/msl_l/2091.json new file mode 100644 index 0000000000..791eccc558 --- /dev/null +++ b/current/slp/items/ssp245/msl_l/2091.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_l\\2091.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2091-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_l/2091.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_l/2101.json b/current/slp/items/ssp245/msl_l/2101.json new file mode 100644 index 0000000000..ee00918c71 --- /dev/null +++ b/current/slp/items/ssp245/msl_l/2101.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_l\\2101.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2101-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_l/2101.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_l/2111.json b/current/slp/items/ssp245/msl_l/2111.json new file mode 100644 index 0000000000..83cc1a1dac --- /dev/null +++ b/current/slp/items/ssp245/msl_l/2111.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_l\\2111.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2111-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_l/2111.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_l/2121.json b/current/slp/items/ssp245/msl_l/2121.json new file mode 100644 index 0000000000..72a410e3f8 --- /dev/null +++ b/current/slp/items/ssp245/msl_l/2121.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_l\\2121.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2121-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_l/2121.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_l/2131.json b/current/slp/items/ssp245/msl_l/2131.json new file mode 100644 index 0000000000..7dafb4ebe4 --- /dev/null +++ b/current/slp/items/ssp245/msl_l/2131.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_l\\2131.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2131-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_l/2131.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_l/2141.json b/current/slp/items/ssp245/msl_l/2141.json new file mode 100644 index 0000000000..1e1090d095 --- /dev/null +++ b/current/slp/items/ssp245/msl_l/2141.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_l\\2141.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2141-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_l/2141.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_l/2151.json b/current/slp/items/ssp245/msl_l/2151.json new file mode 100644 index 0000000000..2799c42752 --- /dev/null +++ b/current/slp/items/ssp245/msl_l/2151.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_l\\2151.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2151-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_l/2151.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_m/2031.json b/current/slp/items/ssp245/msl_m/2031.json new file mode 100644 index 0000000000..028e159903 --- /dev/null +++ b/current/slp/items/ssp245/msl_m/2031.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_m\\2031.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2031-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_m/2031.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_m/2041.json b/current/slp/items/ssp245/msl_m/2041.json new file mode 100644 index 0000000000..8203daa420 --- /dev/null +++ b/current/slp/items/ssp245/msl_m/2041.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_m\\2041.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2041-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_m/2041.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_m/2051.json b/current/slp/items/ssp245/msl_m/2051.json new file mode 100644 index 0000000000..b4acd3eb82 --- /dev/null +++ b/current/slp/items/ssp245/msl_m/2051.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_m\\2051.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2051-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_m/2051.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_m/2061.json b/current/slp/items/ssp245/msl_m/2061.json new file mode 100644 index 0000000000..a45bda05b4 --- /dev/null +++ b/current/slp/items/ssp245/msl_m/2061.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_m\\2061.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2061-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_m/2061.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_m/2071.json b/current/slp/items/ssp245/msl_m/2071.json new file mode 100644 index 0000000000..cd18d9e64e --- /dev/null +++ b/current/slp/items/ssp245/msl_m/2071.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_m\\2071.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2071-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_m/2071.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_m/2081.json b/current/slp/items/ssp245/msl_m/2081.json new file mode 100644 index 0000000000..e289a5a6aa --- /dev/null +++ b/current/slp/items/ssp245/msl_m/2081.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_m\\2081.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2081-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_m/2081.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_m/2091.json b/current/slp/items/ssp245/msl_m/2091.json new file mode 100644 index 0000000000..ca4355ad4c --- /dev/null +++ b/current/slp/items/ssp245/msl_m/2091.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_m\\2091.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2091-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_m/2091.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_m/2101.json b/current/slp/items/ssp245/msl_m/2101.json new file mode 100644 index 0000000000..6036b3b5a5 --- /dev/null +++ b/current/slp/items/ssp245/msl_m/2101.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_m\\2101.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2101-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_m/2101.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_m/2111.json b/current/slp/items/ssp245/msl_m/2111.json new file mode 100644 index 0000000000..c52333ecfb --- /dev/null +++ b/current/slp/items/ssp245/msl_m/2111.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_m\\2111.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2111-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_m/2111.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_m/2121.json b/current/slp/items/ssp245/msl_m/2121.json new file mode 100644 index 0000000000..40387f61d1 --- /dev/null +++ b/current/slp/items/ssp245/msl_m/2121.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_m\\2121.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2121-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_m/2121.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_m/2131.json b/current/slp/items/ssp245/msl_m/2131.json new file mode 100644 index 0000000000..2b0c050bed --- /dev/null +++ b/current/slp/items/ssp245/msl_m/2131.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_m\\2131.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2131-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_m/2131.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_m/2141.json b/current/slp/items/ssp245/msl_m/2141.json new file mode 100644 index 0000000000..8f5a421b72 --- /dev/null +++ b/current/slp/items/ssp245/msl_m/2141.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_m\\2141.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2141-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_m/2141.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp245/msl_m/2151.json b/current/slp/items/ssp245/msl_m/2151.json new file mode 100644 index 0000000000..4ccdc9d263 --- /dev/null +++ b/current/slp/items/ssp245/msl_m/2151.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp245\\msl_m\\2151.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2151-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp245/msl_m/2151.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_h/2031.json b/current/slp/items/ssp585/msl_h/2031.json new file mode 100644 index 0000000000..3c0cc85b78 --- /dev/null +++ b/current/slp/items/ssp585/msl_h/2031.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_h\\2031.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2031-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_h/2031.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_h/2041.json b/current/slp/items/ssp585/msl_h/2041.json new file mode 100644 index 0000000000..f86eafd2c0 --- /dev/null +++ b/current/slp/items/ssp585/msl_h/2041.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_h\\2041.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2041-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_h/2041.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_h/2051.json b/current/slp/items/ssp585/msl_h/2051.json new file mode 100644 index 0000000000..3ab6d64857 --- /dev/null +++ b/current/slp/items/ssp585/msl_h/2051.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_h\\2051.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2051-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_h/2051.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_h/2061.json b/current/slp/items/ssp585/msl_h/2061.json new file mode 100644 index 0000000000..76466689f0 --- /dev/null +++ b/current/slp/items/ssp585/msl_h/2061.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_h\\2061.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2061-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_h/2061.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_h/2071.json b/current/slp/items/ssp585/msl_h/2071.json new file mode 100644 index 0000000000..a4b37be528 --- /dev/null +++ b/current/slp/items/ssp585/msl_h/2071.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_h\\2071.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2071-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_h/2071.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_h/2081.json b/current/slp/items/ssp585/msl_h/2081.json new file mode 100644 index 0000000000..586a2c5fb4 --- /dev/null +++ b/current/slp/items/ssp585/msl_h/2081.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_h\\2081.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2081-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_h/2081.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_h/2091.json b/current/slp/items/ssp585/msl_h/2091.json new file mode 100644 index 0000000000..131738ec32 --- /dev/null +++ b/current/slp/items/ssp585/msl_h/2091.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_h\\2091.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2091-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_h/2091.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_h/2101.json b/current/slp/items/ssp585/msl_h/2101.json new file mode 100644 index 0000000000..66848897f7 --- /dev/null +++ b/current/slp/items/ssp585/msl_h/2101.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_h\\2101.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2101-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_h/2101.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_h/2111.json b/current/slp/items/ssp585/msl_h/2111.json new file mode 100644 index 0000000000..70ec6d4b94 --- /dev/null +++ b/current/slp/items/ssp585/msl_h/2111.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_h\\2111.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2111-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_h/2111.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_h/2121.json b/current/slp/items/ssp585/msl_h/2121.json new file mode 100644 index 0000000000..cd2e80421e --- /dev/null +++ b/current/slp/items/ssp585/msl_h/2121.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_h\\2121.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2121-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_h/2121.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_h/2131.json b/current/slp/items/ssp585/msl_h/2131.json new file mode 100644 index 0000000000..7f372ce5c1 --- /dev/null +++ b/current/slp/items/ssp585/msl_h/2131.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_h\\2131.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2131-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_h/2131.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_h/2141.json b/current/slp/items/ssp585/msl_h/2141.json new file mode 100644 index 0000000000..7540a01a56 --- /dev/null +++ b/current/slp/items/ssp585/msl_h/2141.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_h\\2141.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2141-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_h/2141.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_h/2151.json b/current/slp/items/ssp585/msl_h/2151.json new file mode 100644 index 0000000000..7f6a16fd04 --- /dev/null +++ b/current/slp/items/ssp585/msl_h/2151.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_h\\2151.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2151-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_h/2151.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_l/2031.json b/current/slp/items/ssp585/msl_l/2031.json new file mode 100644 index 0000000000..2af72fa075 --- /dev/null +++ b/current/slp/items/ssp585/msl_l/2031.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_l\\2031.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2031-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_l/2031.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_l/2041.json b/current/slp/items/ssp585/msl_l/2041.json new file mode 100644 index 0000000000..582da2810c --- /dev/null +++ b/current/slp/items/ssp585/msl_l/2041.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_l\\2041.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2041-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_l/2041.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_l/2051.json b/current/slp/items/ssp585/msl_l/2051.json new file mode 100644 index 0000000000..8b2b107465 --- /dev/null +++ b/current/slp/items/ssp585/msl_l/2051.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_l\\2051.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2051-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_l/2051.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_l/2061.json b/current/slp/items/ssp585/msl_l/2061.json new file mode 100644 index 0000000000..89a38ea432 --- /dev/null +++ b/current/slp/items/ssp585/msl_l/2061.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_l\\2061.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2061-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_l/2061.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_l/2071.json b/current/slp/items/ssp585/msl_l/2071.json new file mode 100644 index 0000000000..7578823128 --- /dev/null +++ b/current/slp/items/ssp585/msl_l/2071.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_l\\2071.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2071-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_l/2071.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_l/2081.json b/current/slp/items/ssp585/msl_l/2081.json new file mode 100644 index 0000000000..a3f5c362a4 --- /dev/null +++ b/current/slp/items/ssp585/msl_l/2081.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_l\\2081.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2081-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_l/2081.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_l/2091.json b/current/slp/items/ssp585/msl_l/2091.json new file mode 100644 index 0000000000..0be53bf6c9 --- /dev/null +++ b/current/slp/items/ssp585/msl_l/2091.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_l\\2091.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2091-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_l/2091.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_l/2101.json b/current/slp/items/ssp585/msl_l/2101.json new file mode 100644 index 0000000000..e2442a7292 --- /dev/null +++ b/current/slp/items/ssp585/msl_l/2101.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_l\\2101.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2101-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_l/2101.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_l/2111.json b/current/slp/items/ssp585/msl_l/2111.json new file mode 100644 index 0000000000..e07baaafb9 --- /dev/null +++ b/current/slp/items/ssp585/msl_l/2111.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_l\\2111.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2111-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_l/2111.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_l/2121.json b/current/slp/items/ssp585/msl_l/2121.json new file mode 100644 index 0000000000..7e88d0cdad --- /dev/null +++ b/current/slp/items/ssp585/msl_l/2121.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_l\\2121.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2121-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_l/2121.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_l/2131.json b/current/slp/items/ssp585/msl_l/2131.json new file mode 100644 index 0000000000..4d356ba47e --- /dev/null +++ b/current/slp/items/ssp585/msl_l/2131.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_l\\2131.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2131-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_l/2131.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_l/2141.json b/current/slp/items/ssp585/msl_l/2141.json new file mode 100644 index 0000000000..a413747b2b --- /dev/null +++ b/current/slp/items/ssp585/msl_l/2141.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_l\\2141.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2141-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_l/2141.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_l/2151.json b/current/slp/items/ssp585/msl_l/2151.json new file mode 100644 index 0000000000..314c42176b --- /dev/null +++ b/current/slp/items/ssp585/msl_l/2151.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_l\\2151.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2151-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_l/2151.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_m/2031.json b/current/slp/items/ssp585/msl_m/2031.json new file mode 100644 index 0000000000..1d5def22ab --- /dev/null +++ b/current/slp/items/ssp585/msl_m/2031.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_m\\2031.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2031-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_m/2031.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_m/2041.json b/current/slp/items/ssp585/msl_m/2041.json new file mode 100644 index 0000000000..9647bdffd3 --- /dev/null +++ b/current/slp/items/ssp585/msl_m/2041.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_m\\2041.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2041-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_m/2041.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_m/2051.json b/current/slp/items/ssp585/msl_m/2051.json new file mode 100644 index 0000000000..655a708063 --- /dev/null +++ b/current/slp/items/ssp585/msl_m/2051.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_m\\2051.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2051-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_m/2051.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_m/2061.json b/current/slp/items/ssp585/msl_m/2061.json new file mode 100644 index 0000000000..08b5e3b79b --- /dev/null +++ b/current/slp/items/ssp585/msl_m/2061.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_m\\2061.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2061-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_m/2061.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_m/2071.json b/current/slp/items/ssp585/msl_m/2071.json new file mode 100644 index 0000000000..e885edad41 --- /dev/null +++ b/current/slp/items/ssp585/msl_m/2071.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_m\\2071.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2071-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_m/2071.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_m/2081.json b/current/slp/items/ssp585/msl_m/2081.json new file mode 100644 index 0000000000..ada90bfb8e --- /dev/null +++ b/current/slp/items/ssp585/msl_m/2081.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_m\\2081.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2081-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_m/2081.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_m/2091.json b/current/slp/items/ssp585/msl_m/2091.json new file mode 100644 index 0000000000..ee6e5f9f35 --- /dev/null +++ b/current/slp/items/ssp585/msl_m/2091.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_m\\2091.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2091-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_m/2091.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_m/2101.json b/current/slp/items/ssp585/msl_m/2101.json new file mode 100644 index 0000000000..bb0ddb99aa --- /dev/null +++ b/current/slp/items/ssp585/msl_m/2101.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_m\\2101.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2101-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_m/2101.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_m/2111.json b/current/slp/items/ssp585/msl_m/2111.json new file mode 100644 index 0000000000..15d54503f3 --- /dev/null +++ b/current/slp/items/ssp585/msl_m/2111.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_m\\2111.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2111-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_m/2111.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_m/2121.json b/current/slp/items/ssp585/msl_m/2121.json new file mode 100644 index 0000000000..4586e4c542 --- /dev/null +++ b/current/slp/items/ssp585/msl_m/2121.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_m\\2121.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2121-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_m/2121.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_m/2131.json b/current/slp/items/ssp585/msl_m/2131.json new file mode 100644 index 0000000000..19c888483c --- /dev/null +++ b/current/slp/items/ssp585/msl_m/2131.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_m\\2131.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2131-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_m/2131.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_m/2141.json b/current/slp/items/ssp585/msl_m/2141.json new file mode 100644 index 0000000000..9db5db313d --- /dev/null +++ b/current/slp/items/ssp585/msl_m/2141.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_m\\2141.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2141-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_m/2141.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/current/slp/items/ssp585/msl_m/2151.json b/current/slp/items/ssp585/msl_m/2151.json new file mode 100644 index 0000000000..4288137958 --- /dev/null +++ b/current/slp/items/ssp585/msl_m/2151.json @@ -0,0 +1,120 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "ssp585\\msl_m\\2151.tif", + "properties": { + "proj:bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "proj:shape": [ + 181, + 360 + ], + "proj:epsg": 4326, + "proj:geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "proj:transform": [ + 1.0, + 0.0, + -180.5, + 0.0, + -1.0, + 90.5 + ], + "datetime": "2151-07-02T12:00:00Z" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 179.5, + -90.5 + ], + [ + 179.5, + 90.5 + ], + [ + -180.5, + 90.5 + ], + [ + -180.5, + -90.5 + ], + [ + 179.5, + -90.5 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + }, + { + "rel": "root", + "href": "../../../../catalog.json", + "type": "application/json", + "title": "CoCliCo STAC Catalog" + }, + { + "rel": "parent", + "href": "../../../collection.json", + "type": "application/json", + "title": "Global Sea Level Projections" + } + ], + "assets": { + "data": { + "href": "https://storage.googleapis.com/coclico-data-public/coclico/slp/ssp585/msl_m/2151.tif", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ] + } + }, + "bbox": [ + -180.5, + -90.5, + 179.5, + 90.5 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "slp" +} \ No newline at end of file diff --git a/notebooks/13_slp.ipynb b/notebooks/13_slp.ipynb index 81dad17280..9f55d2f942 100644 --- a/notebooks/13_slp.ipynb +++ b/notebooks/13_slp.ipynb @@ -4,22 +4,51 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Sea level projection\n", - "### San Sebastian | Genova | La Rochelle | Valencia\n", - "Written by Math van Soest - Deltares \n", - "17-08-'23" + "## Sea Level Projections\n", + "\n", + "Notebook environment to migrate netcdf files to CoG." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, + "outputs": [ + { + "data": { + "application/javascript": "\n setTimeout(function() {\n var nbb_cell_id = 1;\n var nbb_unformatted_code = \"# Optional; code formatter, installed as jupyter lab extension\\n#%load_ext lab_black\\n# Optional; code formatter, installed as jupyter notebook extension\\n%load_ext nb_black\";\n var nbb_formatted_code = \"# Optional; code formatter, installed as jupyter lab extension\\n# %load_ext lab_black\\n# Optional; code formatter, installed as jupyter notebook extension\\n%load_ext nb_black\";\n var nbb_cells = Jupyter.notebook.get_cells();\n for (var i = 0; i < nbb_cells.length; ++i) {\n if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n nbb_cells[i].set_text(nbb_formatted_code);\n }\n break;\n }\n }\n }, 500);\n ", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Optional; code formatter, installed as jupyter lab extension\n", + "#%load_ext lab_black\n", + "# Optional; code formatter, installed as jupyter notebook extension\n", + "%load_ext nb_black" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Configure OS independent paths" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "C:\\Users\\kras\\AppData\\Local\\Temp\\ipykernel_12280\\3012141979.py:7: DeprecationWarning: Shapely 2.0 is installed, but because PyGEOS is also installed, GeoPandas still uses PyGEOS by default. However, starting with version 0.14, the default will switch to Shapely. To force to use Shapely 2.0 now, you can either uninstall PyGEOS or set the environment variable USE_PYGEOS=0. You can do this before starting the Python process, or in your code before importing geopandas:\n", + "C:\\Users\\soest\\AppData\\Local\\Temp\\ipykernel_24128\\2032885944.py:7: DeprecationWarning: Shapely 2.0 is installed, but because PyGEOS is also installed, GeoPandas still uses PyGEOS by default. However, starting with version 0.14, the default will switch to Shapely. To force to use Shapely 2.0 now, you can either uninstall PyGEOS or set the environment variable USE_PYGEOS=0. You can do this before starting the Python process, or in your code before importing geopandas:\n", "\n", "import os\n", "os.environ['USE_PYGEOS'] = '0'\n", @@ -28,91 +57,84 @@ "In the next release, GeoPandas will switch to using Shapely by default, even if PyGEOS is installed. If you only have PyGEOS installed to get speed-ups, this switch should be smooth. However, if you are using PyGEOS directly (calling PyGEOS functions on geometries from GeoPandas), this will then stop working and you are encouraged to migrate from PyGEOS to Shapely 2.0 (https://shapely.readthedocs.io/en/latest/migration_pygeos.html).\n", " import geopandas as gpd\n" ] + }, + { + "data": { + "application/javascript": "\n setTimeout(function() {\n var nbb_cell_id = 2;\n var nbb_unformatted_code = \"# Import standard packages\\nimport os\\nimport pathlib\\nimport sys\\nimport glob\\nimport numpy as np\\nimport geopandas as gpd\\nimport pandas as pd\\nimport matplotlib.pyplot as plt\\nimport xarray as xr\\nimport netCDF4 as nc\\nimport numpy.ma as ma\\nimport rasterio\\nimport rioxarray as rio\\nfrom datacube.utils.cog import write_cog\\n\\n# Make root directories importable by aslpending root to path\\ncwd = pathlib.Path().resolve()\\nsys.path.append(os.path.dirname(cwd))\\n\\n# Get root paths\\nhome = pathlib.Path().home()\\nroot = home.root\\ntmp_dir = home.joinpath(\\\"data\\\", \\\"tmp\\\")\\n\\n# Import custom functionality\\nfrom coclicodata.drive_config import p_drive\\nfrom coclicodata.etl.cf_compliancy_checker import check_compliancy, save_compliancy\\nfrom coastmonitor.io.utils import name_block\\n\\n# Define (local and) remote drives\\ncoclico_data_dir = p_drive.joinpath(\\\"11207608-coclico\\\", \\\"FULLTRACK_DATA\\\")\\n\\n# Workaround to the Windows OS (10) udunits error after installation of cfchecker: https://github.com/SciTools/iris/issues/404\\nos.environ[\\\"UDUNITS2_XML_PATH\\\"] = str(\\n home.joinpath( # change to the udunits2.xml file dir in your Python installation\\n r\\\"Anaconda3\\\\pkgs\\\\udunits2-2.2.28-h892ecd3_0\\\\Library\\\\share\\\\udunits\\\\udunits2.xml\\\"\\n )\\n)\\n\\n# use local or remote data dir\\nuse_local_data = False\\nds_dirname = \\\"WP3\\\"\\n\\nif use_local_data: \\n ds_dir = tmp_dir.joinpath(ds_dirname)\\nelse: \\n ds_dir = coclico_data_dir.joinpath(ds_dirname)\\n\\nif not ds_dir.exists():\\n raise FileNotFoundError(\\\"Directory with data does not exist.\\\")\\n\\n# directory to export result (make if not exists)\\ncog_dir = ds_dir.joinpath(\\\"cog\\\")\\ncog_dirs = ds_dir.joinpath(\\\"cogs\\\") # for making all files CF compliant\\ncog_dir.mkdir(parents=True, exist_ok=True)\\n\\nds_dir = ds_dir.joinpath('data')\\n\\nCF_dir = coclico_data_dir.joinpath(r\\\"CF\\\") \";\n var nbb_formatted_code = \"# Import standard packages\\nimport os\\nimport pathlib\\nimport sys\\nimport glob\\nimport numpy as np\\nimport geopandas as gpd\\nimport pandas as pd\\nimport matplotlib.pyplot as plt\\nimport xarray as xr\\nimport netCDF4 as nc\\nimport numpy.ma as ma\\nimport rasterio\\nimport rioxarray as rio\\nfrom datacube.utils.cog import write_cog\\n\\n# Make root directories importable by aslpending root to path\\ncwd = pathlib.Path().resolve()\\nsys.path.append(os.path.dirname(cwd))\\n\\n# Get root paths\\nhome = pathlib.Path().home()\\nroot = home.root\\ntmp_dir = home.joinpath(\\\"data\\\", \\\"tmp\\\")\\n\\n# Import custom functionality\\nfrom coclicodata.drive_config import p_drive\\nfrom coclicodata.etl.cf_compliancy_checker import check_compliancy, save_compliancy\\nfrom coastmonitor.io.utils import name_block\\n\\n# Define (local and) remote drives\\ncoclico_data_dir = p_drive.joinpath(\\\"11207608-coclico\\\", \\\"FULLTRACK_DATA\\\")\\n\\n# Workaround to the Windows OS (10) udunits error after installation of cfchecker: https://github.com/SciTools/iris/issues/404\\nos.environ[\\\"UDUNITS2_XML_PATH\\\"] = str(\\n home.joinpath( # change to the udunits2.xml file dir in your Python installation\\n r\\\"Anaconda3\\\\pkgs\\\\udunits2-2.2.28-h892ecd3_0\\\\Library\\\\share\\\\udunits\\\\udunits2.xml\\\"\\n )\\n)\\n\\n# use local or remote data dir\\nuse_local_data = False\\nds_dirname = \\\"WP3\\\"\\n\\nif use_local_data:\\n ds_dir = tmp_dir.joinpath(ds_dirname)\\nelse:\\n ds_dir = coclico_data_dir.joinpath(ds_dirname)\\n\\nif not ds_dir.exists():\\n raise FileNotFoundError(\\\"Directory with data does not exist.\\\")\\n\\n# directory to export result (make if not exists)\\ncog_dir = ds_dir.joinpath(\\\"cog\\\")\\ncog_dirs = ds_dir.joinpath(\\\"cogs\\\") # for making all files CF compliant\\ncog_dir.mkdir(parents=True, exist_ok=True)\\n\\nds_dir = ds_dir.joinpath(\\\"data\\\")\\n\\nCF_dir = coclico_data_dir.joinpath(r\\\"CF\\\")\";\n var nbb_cells = Jupyter.notebook.get_cells();\n for (var i = 0; i < nbb_cells.length; ++i) {\n if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n nbb_cells[i].set_text(nbb_formatted_code);\n }\n break;\n }\n }\n }, 500);\n ", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ "# Import standard packages\n", "import os\n", "import pathlib\n", - "\n", "import sys\n", + "import glob\n", "import numpy as np\n", "import geopandas as gpd\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import xarray as xr\n", - "import math\n", - "import itertools\n", - "import glob\n", + "import netCDF4 as nc\n", + "import numpy.ma as ma\n", + "import rasterio\n", + "import rioxarray as rio\n", + "from datacube.utils.cog import write_cog\n", + "\n", + "# Make root directories importable by aslpending root to path\n", + "cwd = pathlib.Path().resolve()\n", + "sys.path.append(os.path.dirname(cwd))\n", + "\n", + "# Get root paths\n", + "home = pathlib.Path().home()\n", + "root = home.root\n", + "tmp_dir = home.joinpath(\"data\", \"tmp\")\n", "\n", "# Import custom functionality\n", "from coclicodata.drive_config import p_drive\n", "from coclicodata.etl.cf_compliancy_checker import check_compliancy, save_compliancy\n", + "from coastmonitor.io.utils import name_block\n", "\n", "# Define (local and) remote drives\n", - "gca_data_dir = p_drive.joinpath(\"11205479-coclico\",\"FULLTRACK_DATA\",\"WP3\")\n", + "coclico_data_dir = p_drive.joinpath(\"11207608-coclico\", \"FULLTRACK_DATA\")\n", "\n", "# Workaround to the Windows OS (10) udunits error after installation of cfchecker: https://github.com/SciTools/iris/issues/404\n", "os.environ[\"UDUNITS2_XML_PATH\"] = str(\n", - " pathlib.Path().home().joinpath( # change to the udunits2.xml file dir in your Python installation\n", + " home.joinpath( # change to the udunits2.xml file dir in your Python installation\n", " r\"Anaconda3\\pkgs\\udunits2-2.2.28-h892ecd3_0\\Library\\share\\udunits\\udunits2.xml\"\n", " )\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "# Project paths & files (manual input)\n", - "dataset_dir = gca_data_dir.joinpath(\"pilot\")\n", - "dataset_dir_path = dataset_dir.joinpath(\"SLP_MvS.nc\")\n", - "ds_out_file = \"SLP_MvS\"\n", - "CF_dir = gca_data_dir.joinpath(r\"CF\") # directory to save output CF check files" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "# write csv to netcdf\n", + ")\n", "\n", - "# open all csv files in different dirs\n", - "all_files = []\n", - "for dir in os.listdir(dataset_dir):\n", - " #if '.' not in dir: # arbitrary, no file extension to determine whether it is dir\n", - " #all_files.append(glob.glob(os.path.join(dataset_dir, \"*.CSV\")))\n", - " #all_files.append(os.path.join(dataset_dir, \"*.csv\"))\n", - " if \"csv\" in dir:\n", - " all_files.append(os.path.join(dataset_dir, dir))\n", + "# use local or remote data dir\n", + "use_local_data = False\n", + "ds_dirname = \"WP3\"\n", "\n", - "# read csv and convert to nc files\n", - "li = []\n", - "for filename in all_files: #list(itertools.chain(*all_files)):\n", - " \n", - " df = pd.read_csv(filename, index_col=None, header=0)\n", - " li.append(df)\n", + "if use_local_data: \n", + " ds_dir = tmp_dir.joinpath(ds_dirname)\n", + "else: \n", + " ds_dir = coclico_data_dir.joinpath(ds_dirname)\n", "\n", - " ds = xr.Dataset.from_dataframe(df)\n", - " ds.to_netcdf(filename.replace('.csv', '.nc'))\n", + "if not ds_dir.exists():\n", + " raise FileNotFoundError(\"Directory with data does not exist.\")\n", "\n", - "# make one dataframe\n", - "df = pd.concat(li, axis=0, ignore_index=True)\n", + "# directory to export result (make if not exists)\n", + "cog_dir = ds_dir.joinpath(\"cog\")\n", + "cog_dirs = ds_dir.joinpath(\"cogs\") # for making all files CF compliant\n", + "cog_dir.mkdir(parents=True, exist_ok=True)\n", "\n", - "# Convert the pandas dataframe to an xarray dataset\n", - "ds = xr.Dataset.from_dataframe(df)\n", + "ds_dir = ds_dir.joinpath('data')\n", "\n", - "# Write the xarray dataset to a netCDF file\n", - "ds.to_netcdf(dataset_dir.joinpath(\"SLP_MvS.nc\"))" + "CF_dir = coclico_data_dir.joinpath(r\"CF\") " ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -482,165 +504,258 @@ " fill: currentColor;\n", "}\n", "
<xarray.Dataset>\n",
-       "Dimensions:  (index: 4)\n",
+       "Dimensions:      (time: 13, x: 360, y: 181)\n",
        "Coordinates:\n",
-       "  * index    (index) int64 0 1 2 3\n",
+       "  * time         (time) object 2031-07-02 12:00:00 ... 2151-07-02 12:00:00\n",
+       "  * x            (x) float64 -180.0 -179.0 -178.0 -177.0 ... 177.0 178.0 179.0\n",
+       "  * y            (y) float64 90.0 89.0 88.0 87.0 ... -87.0 -88.0 -89.0 -90.0\n",
+       "    spatial_ref  int32 0\n",
        "Data variables:\n",
-       "    years    (index) int64 ...\n",
-       "    low      (index) float64 ...\n",
-       "    median   (index) float64 ...\n",
-       "    high     (index) float64 ...
" + " msl_h (time, y, x) float32 ...\n", + " msl_m (time, y, x) float32 ...\n", + " msl_l (time, y, x) float32 ...\n", + "Attributes:\n", + " Conventions: CF-1.8\n", + " crs: 4326\n", + " description: Combined confidence output file for AR6 sea-level change pr...\n", + " history: Created 2023-10-05 10:41:05\n", + " title: High-end Regional SLR projections for CoCliCo [https://cocl..." ], "text/plain": [ "\n", - "Dimensions: (index: 4)\n", + "Dimensions: (time: 13, x: 360, y: 181)\n", "Coordinates:\n", - " * index (index) int64 0 1 2 3\n", + " * time (time) object 2031-07-02 12:00:00 ... 2151-07-02 12:00:00\n", + " * x (x) float64 -180.0 -179.0 -178.0 -177.0 ... 177.0 178.0 179.0\n", + " * y (y) float64 90.0 89.0 88.0 87.0 ... -87.0 -88.0 -89.0 -90.0\n", + " spatial_ref int32 0\n", "Data variables:\n", - " years (index) int64 ...\n", - " low (index) float64 ...\n", - " median (index) float64 ...\n", - " high (index) float64 ..." + " msl_h (time, y, x) float32 ...\n", + " msl_m (time, y, x) float32 ...\n", + " msl_l (time, y, x) float32 ...\n", + "Attributes:\n", + " Conventions: CF-1.8\n", + " crs: 4326\n", + " description: Combined confidence output file for AR6 sea-level change pr...\n", + " history: Created 2023-10-05 10:41:05\n", + " title: High-end Regional SLR projections for CoCliCo [https://cocl..." ] }, - "execution_count": 4, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" + }, + { + "data": { + "application/javascript": "\n setTimeout(function() {\n var nbb_cell_id = 3;\n var nbb_unformatted_code = \"# Check CF_compliancy of one .nc file (will be converted to .tif so not necessary, but is formed as .nc right now so might as well)\\nds_test_path = ds_dir.joinpath(\\\"SLR_high_end_CoCliCo_integrated_scenario.nc\\\")\\nds_test = rio.open_rasterio(ds_test_path)\\nds_test\";\n var nbb_formatted_code = \"# Check CF_compliancy of one .nc file (will be converted to .tif so not necessary, but is formed as .nc right now so might as well)\\nds_test_path = ds_dir.joinpath(\\\"SLR_high_end_CoCliCo_integrated_scenario.nc\\\")\\nds_test = rio.open_rasterio(ds_test_path)\\nds_test\";\n var nbb_cells = Jupyter.notebook.get_cells();\n for (var i = 0; i < nbb_cells.length; ++i) {\n if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n nbb_cells[i].set_text(nbb_formatted_code);\n }\n break;\n }\n }\n }, 500);\n ", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ - "# open datasets (only first file, rest is the same)\n", - "ds = xr.open_dataset(all_files[0].replace('.csv', '.nc'))\n", - "\n", - "# check original dataset\n", - "ds" + "# Check CF_compliancy of one .nc file (will be converted to .tif so not necessary, but is formed as .nc right now so might as well)\n", + "ds_test_path = ds_dir.joinpath(\"SLR_high_end_CoCliCo_integrated_scenario.nc\")\n", + "ds_test = rio.open_rasterio(ds_test_path)\n", + "ds_test" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "application/javascript": "\n setTimeout(function() {\n var nbb_cell_id = 4;\n var nbb_unformatted_code = \"%%capture cap --no-stderr\\n# check original CF compliancy\\n\\ncheck_compliancy(testfile=ds_test_path, working_dir=CF_dir)\";\n var nbb_formatted_code = \"%%capture cap --no-stderr\\n# check original CF compliancy\\n\\ncheck_compliancy(testfile=ds_test_path, working_dir=CF_dir)\";\n var nbb_cells = Jupyter.notebook.get_cells();\n for (var i = 0; i < nbb_cells.length; ++i) {\n if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n nbb_cells[i].set_text(nbb_formatted_code);\n }\n break;\n }\n }\n }, 500);\n ", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "%%capture cap --no-stderr\n", - "# check original CF compliancy (for first file)\n", + "# check original CF compliancy\n", "\n", - "check_compliancy(testfile=all_files[0].replace('.csv', '.nc'), \n", - " working_dir=CF_dir\n", - " ) " + "check_compliancy(testfile=ds_test_path, working_dir=CF_dir)" ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "{'P:\\\\11205479-coclico\\\\FULLTRACK_DATA\\\\WP3\\\\pilot\\\\MSL_Genova_high_end.nc': {'warnings': '7', 'errors': '0'}}\n" + "{'P:\\\\11207608-coclico\\\\FULLTRACK_DATA\\\\WP3\\\\data\\\\SLR_high_end_CoCliCo_integrated_scenario.nc': {'warnings': '0', 'errors': '0'}}\n", + "no warnings or errors, whoop! :)\n" ] + }, + { + "data": { + "application/javascript": "\n setTimeout(function() {\n var nbb_cell_id = 5;\n var nbb_unformatted_code = \"# save original CF compliancy\\nsave_compliancy(cap, testfile=ds_test_path, working_dir=CF_dir)\\nprint(\\\"no warnings or errors, whoop! :)\\\")\";\n var nbb_formatted_code = \"# save original CF compliancy\\nsave_compliancy(cap, testfile=ds_test_path, working_dir=CF_dir)\\nprint(\\\"no warnings or errors, whoop! :)\\\")\";\n var nbb_cells = Jupyter.notebook.get_cells();\n for (var i = 0; i < nbb_cells.length; ++i) {\n if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n nbb_cells[i].set_text(nbb_formatted_code);\n }\n break;\n }\n }\n }, 500);\n ", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ - "# save original CF compliancy (for first file)\n", - "save_compliancy(cap, testfile=all_files[0].replace('.csv', '.nc'), working_dir=CF_dir) " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Make CF compliant alterations to the NetCDF files (dataset dependent)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "# open datasets\n", - "ds_list = []\n", - "for i in all_files:\n", - " ds_list.append(xr.open_dataset(i.replace('.csv', '.nc')))" + "# save original CF compliancy\n", + "save_compliancy(cap, testfile=ds_test_path, working_dir=CF_dir)\n", + "print(\"no warnings or errors, whoop! :)\")" ] }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 6, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "application/javascript": "\n setTimeout(function() {\n var nbb_cell_id = 6;\n var nbb_unformatted_code = \"# NetCDF attribute alterations by means of metadata template\\nimport json\\nmeta_json = open(ds_dir.joinpath(\\\"SLR_high-end_CoCliCo_integrated_scenario.json\\\"), 'r')\\nmeta_data = json.load(meta_json)\\n\\n# NOTE: json module can not handle trailing comma's, these have manually been deleted from the data\";\n var nbb_formatted_code = \"# NetCDF attribute alterations by means of metadata template\\nimport json\\n\\nmeta_json = open(ds_dir.joinpath(\\\"SLR_high-end_CoCliCo_integrated_scenario.json\\\"), \\\"r\\\")\\nmeta_data = json.load(meta_json)\\n\\n# NOTE: json module can not handle trailing comma's, these have manually been deleted from the data\";\n var nbb_cells = Jupyter.notebook.get_cells();\n for (var i = 0; i < nbb_cells.length; ++i) {\n if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n nbb_cells[i].set_text(nbb_formatted_code);\n }\n break;\n }\n }\n }, 500);\n ", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "import json\n", - "\n", "# NetCDF attribute alterations by means of metadata template\n", - "f_global = open(gca_data_dir.joinpath(\"metadata\", \"metadata_SLP.json\"))\n", - "meta_global = json.load(f_global)\n", - "\n", - "for i in ds_list:\n", - " for attr_name, attr_val in meta_global.items():\n", - " if attr_name == 'PROVIDERS':\n", - " attr_val = json.dumps(attr_val)\n", - " i.attrs[attr_name] = attr_val\n", + "import json\n", + "meta_json = open(ds_dir.joinpath(\"SLR_high-end_CoCliCo_integrated_scenario.json\"), 'r')\n", + "meta_data = json.load(meta_json)\n", "\n", - " i.attrs['Conventions'] = \"CF-1.8\"" + "# NOTE: json module can not handle trailing comma's, these have manually been deleted from the data" ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "application/javascript": "\n setTimeout(function() {\n var nbb_cell_id = 8;\n var nbb_unformatted_code = \"# Test for single .nc-file\\nslp_test = xr.open_dataset(ds_test_path, engine=\\\"rasterio\\\", mask_and_scale=False) \\n\\n# Iterate over variables within dataset (in this case: mean sea level high, medium and low)\\nfor itime, time in enumerate(slp_test['time'].values): \\n for var in slp_test:\\n \\n # Select the variable and timestep from dataset\\n da = slp_test[var].isel(time = itime)\\n da.drop('time')\\n\\n # Set no data values\\n da = (\\n da.where(da != -2147483648, -9999)\\n .astype(\\\"float64\\\")\\n .rio.write_nodata(-9999)\\n .rio.set_spatial_dims(x_dim=\\\"x\\\", y_dim=\\\"y\\\")\\n )\\n\\n # Set final output file name, nc-file is broken down into tif's \\n item_name = str(var) + '.tif'\\n \\n # convert to dataset\\n dad = da.to_dataset()\\n\\n # add all attributes (again)\\n for attr_name, attr_val in meta_data.items():\\n if attr_name == 'PROVIDERS':\\n attr_val = json.dumps(attr_val)\\n if attr_name == \\\"MEDIA_TYPE\\\": # change media type to tiff, leave the rest as is\\n attr_val = \\\"IMAGE/TIFF\\\"\\n if attr_name == 'TEMPORAL_EXTENT': # only add the relevant year to the tif\\n attr_val = attr_val[itime] \\t# NOTE: coded to match timing of the netcdf\\n dad.attrs[attr_name] = attr_val\\n\\n dad.attrs['Conventions'] = \\\"CF-1.8\\\"\\n\\n # Remove leftover NETCDF attributes\\n attrs_del = 'NETCDF_DIM_EXTRA','NETCDF_DIM_time_DEF','NETCDF_DIM_time_VALUES'\\n for attr_del in attrs_del:\\n del dad[var].attrs[attr_del]\\n\\n # export file\\n outpath = cog_dir.joinpath(str(time.year))\\n outpath.mkdir(parents=True, exist_ok=True)\\n outpath = outpath.joinpath(item_name)\\n dad.rio.to_raster(outpath, compress = 'DEFLATE', driver= 'COG')\";\n var nbb_formatted_code = \"# Test for single .nc-file\\nslp_test = xr.open_dataset(ds_test_path, engine=\\\"rasterio\\\", mask_and_scale=False)\\n\\n# Iterate over variables within dataset (in this case: mean sea level high, medium and low)\\nfor itime, time in enumerate(slp_test[\\\"time\\\"].values):\\n for var in slp_test:\\n # Select the variable and timestep from dataset\\n da = slp_test[var].isel(time=itime)\\n da.drop(\\\"time\\\")\\n\\n # Set no data values\\n da = (\\n da.where(da != -2147483648, -9999)\\n .astype(\\\"float64\\\")\\n .rio.write_nodata(-9999)\\n .rio.set_spatial_dims(x_dim=\\\"x\\\", y_dim=\\\"y\\\")\\n )\\n\\n # Set final output file name, nc-file is broken down into tif's\\n item_name = str(var) + \\\".tif\\\"\\n\\n # convert to dataset\\n dad = da.to_dataset()\\n\\n # add all attributes (again)\\n for attr_name, attr_val in meta_data.items():\\n if attr_name == \\\"PROVIDERS\\\":\\n attr_val = json.dumps(attr_val)\\n if (\\n attr_name == \\\"MEDIA_TYPE\\\"\\n ): # change media type to tiff, leave the rest as is\\n attr_val = \\\"IMAGE/TIFF\\\"\\n if attr_name == \\\"TEMPORAL_EXTENT\\\": # only add the relevant year to the tif\\n attr_val = attr_val[itime] # NOTE: coded to match timing of the netcdf\\n dad.attrs[attr_name] = attr_val\\n\\n dad.attrs[\\\"Conventions\\\"] = \\\"CF-1.8\\\"\\n\\n # Remove leftover NETCDF attributes\\n attrs_del = \\\"NETCDF_DIM_EXTRA\\\", \\\"NETCDF_DIM_time_DEF\\\", \\\"NETCDF_DIM_time_VALUES\\\"\\n for attr_del in attrs_del:\\n del dad[var].attrs[attr_del]\\n\\n # export file\\n outpath = cog_dir.joinpath(str(time.year))\\n outpath.mkdir(parents=True, exist_ok=True)\\n outpath = outpath.joinpath(item_name)\\n dad.rio.to_raster(outpath, compress=\\\"DEFLATE\\\", driver=\\\"COG\\\")\";\n var nbb_cells = Jupyter.notebook.get_cells();\n for (var i = 0; i < nbb_cells.length; ++i) {\n if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n nbb_cells[i].set_text(nbb_formatted_code);\n }\n break;\n }\n }\n }, 500);\n ", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "# NetCDF variable and dimension alterations (per dataset)\n", - "ds_list_CF = []\n", - "ensemble_vars = [\"low\",\"median\",\"high\"]\n", - "\n", - "for i, j in zip(ds_list, all_files):\n", + "# Test for single .nc-file\n", + "slp_test = xr.open_dataset(ds_test_path, engine=\"rasterio\", mask_and_scale=False) \n", "\n", - " # extract values from xarray dataset and concatenate using numpy, then reshape to match dataset dimensions\n", - " data_array = np.concatenate([i[var].values for var in ensemble_vars])\n", - " data_array_r = data_array.reshape((len(ensemble_vars), len(i['low'].values)))\n", + "# Iterate over variables within dataset (in this case: mean sea level high, medium and low)\n", + "for itime, time in enumerate(slp_test['time'].values): \n", + " for var in slp_test:\n", " \n", - " # transform year data from integer to pd.time\n", - " i = i.rename_vars({\"years\":\"time\"})\n", - " i = i.set_coords(['time'])\n", - " i = i.assign(time=('time', i['time'].values))\n", - " \n", - " # remove unconcatenated variables, to be filled in later using data_array_r\n", - " i = i.drop(['index']+ensemble_vars)\n", + " # Select the variable and timestep from dataset\n", + " da = slp_test[var].isel(time = itime)\n", + " da.drop('time')\n", + "\n", + " # Set no data values\n", + " da = (\n", + " da.where(da != -2147483648, -9999)\n", + " .astype(\"float64\")\n", + " .rio.write_nodata(-9999)\n", + " .rio.set_spatial_dims(x_dim=\"x\", y_dim=\"y\")\n", + " )\n", "\n", - " # expand dimension with data variables\n", - " i = i.assign(ensemble=(\"nensemble\", np.array(ensemble_vars, dtype=\"S\")))\n", - " i = i.set_coords(\"ensemble\")\n", - " \n", - " # # add reshaped data array to the xarray dataset\n", - " i = i.assign(slr=([\"nensemble\", \"time\"], data_array_r))\n", + " # Set final output file name, nc-file is broken down into tif's \n", + " item_name = str(var) + '.tif'\n", + " \n", + " # convert to dataset\n", + " dad = da.to_dataset()\n", "\n", - " # add or change certain variable / coordinate attributes\n", - " dataset_attributes = {\n", - " \"slr\": {\"long_name\": \"sea level projections\", \"units\": \"m\"},\n", - " \"time\": {\"long_name\": \"time projections\", \"units\": \"yr\"},\n", - " \"ensemble\": {\"long_name\": \"ensemble\", \"units\": \"1\"}, # set to 1 if no unit\n", - " } # specify custom (CF convention) attributes\n", + " # add all attributes (again)\n", + " for attr_name, attr_val in meta_data.items():\n", + " if attr_name == 'PROVIDERS':\n", + " attr_val = json.dumps(attr_val)\n", + " if attr_name == \"MEDIA_TYPE\": # change media type to tiff, leave the rest as is\n", + " attr_val = \"IMAGE/TIFF\"\n", + " if attr_name == 'TEMPORAL_EXTENT': # only add the relevant year to the tif\n", + " attr_val = attr_val[itime] \t# NOTE: coded to match timing of the netcdf\n", + " dad.attrs[attr_name] = attr_val\n", "\n", - " # add / overwrite attributes\n", - " for k, v in dataset_attributes.items():\n", - " try:\n", - " i[k].attrs = dataset_attributes[k]\n", - " except:\n", - " continue\n", + " dad.attrs['Conventions'] = \"CF-1.8\"\n", "\n", - " i.to_netcdf(path=str(j).replace(\".csv\", \"_CF.nc\")) # save single CF compliant files\n", + " # Remove leftover NETCDF attributes\n", + " attrs_del = 'NETCDF_DIM_EXTRA','NETCDF_DIM_time_DEF','NETCDF_DIM_time_VALUES'\n", + " for attr_del in attrs_del:\n", + " del dad[var].attrs[attr_del]\n", "\n", - " ds_list_CF.append(i)" + " # export file\n", + " outpath = cog_dir.joinpath(str(time.year))\n", + " outpath.mkdir(parents=True, exist_ok=True)\n", + " outpath = outpath.joinpath(item_name)\n", + " dad.rio.to_raster(outpath, compress = 'DEFLATE', driver= 'COG')" ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -1010,62 +1125,152 @@ " fill: currentColor;\n", "}\n", "
<xarray.Dataset>\n",
-       "Dimensions:  (index: 4)\n",
+       "Dimensions:      (x: 360, y: 181)\n",
        "Coordinates:\n",
-       "  * index    (index) int64 0 1 2 3\n",
+       "    time         object 2151-07-02 12:00:00\n",
+       "  * x            (x) float64 -180.0 -179.0 -178.0 -177.0 ... 177.0 178.0 179.0\n",
+       "  * y            (y) float64 90.0 89.0 88.0 87.0 ... -87.0 -88.0 -89.0 -90.0\n",
+       "    spatial_ref  int32 0\n",
        "Data variables:\n",
-       "    years    (index) int64 ...\n",
-       "    low      (index) float64 0.07438 0.1807 0.5954 0.8804\n",
-       "    median   (index) float64 0.1196 0.2641 0.9028 2.012\n",
-       "    high     (index) float64 0.1777 0.4003 1.41 5.242\n",
-       "Attributes: (12/21)\n",
-       "    TITLE:               Sea level projections\n",
-       "    TITLE_ABBREVIATION:  slp\n",
-       "    DESCRIPTION:         to be done later...\n",
-       "    SHORT_DESCRIPTION:   to be done later...\n",
-       "    INSTITUTION:         to be done later...\n",
-       "    PROVIDERS:           {"name": "Deltares Test", "url": "https://www.deltar...\n",
+       "    msl_l        (y, x) float64 nan nan nan nan nan nan ... nan nan nan nan nan\n",
+       "Attributes: (12/18)\n",
+       "    TITLE:               Mean Sea Level for CoCliCo Integrated Scenario High-end\n",
+       "    TITLE_ABBREVIATION:  msl_cis_high-end\n",
+       "    DESCRIPTION:         The Mean Sea Level for CoCliCo Integrated Scenario H...\n",
+       "    SHORT_DESCRIPTION:   The MSL_CIS_HIGH-END dataset provides AR6-based regi...\n",
+       "    INSTITUTION:         BRGM, French Geological Survey\n",
+       "    PROVIDERS:           {"name": "BRGM, French Geological Survey", "url": "w...\n",
        "    ...                  ...\n",
-       "    DOI:                 to be done later...\n",
-       "    LONG_NAME:           SLP\n",
+       "    TAGS:                ['mean sea level', 'sea level rise', 'IPCC AR6']\n",
+       "    LONG_NAME:           MEAN_SEA_LEVEL\n",
        "    UNITS:               m\n",
-       "    COMMENT:             test is in the works\n",
+       "    COMMENT:             This dataset combines AR6 sea-level change projectio...\n",
        "    CRS:                 EPSG:4326\n",
-       "    Conventions:         CF-1.8
" + " Conventions: CF-1.8" ], "text/plain": [ "\n", - "Dimensions: (index: 4)\n", + "Dimensions: (x: 360, y: 181)\n", "Coordinates:\n", - " * index (index) int64 0 1 2 3\n", + " time object 2151-07-02 12:00:00\n", + " * x (x) float64 -180.0 -179.0 -178.0 -177.0 ... 177.0 178.0 179.0\n", + " * y (y) float64 90.0 89.0 88.0 87.0 ... -87.0 -88.0 -89.0 -90.0\n", + " spatial_ref int32 0\n", "Data variables:\n", - " years (index) int64 ...\n", - " low (index) float64 0.07438 0.1807 0.5954 0.8804\n", - " median (index) float64 0.1196 0.2641 0.9028 2.012\n", - " high (index) float64 0.1777 0.4003 1.41 5.242\n", - "Attributes: (12/21)\n", - " TITLE: Sea level projections\n", - " TITLE_ABBREVIATION: slp\n", - " DESCRIPTION: to be done later...\n", - " SHORT_DESCRIPTION: to be done later...\n", - " INSTITUTION: to be done later...\n", - " PROVIDERS: {\"name\": \"Deltares Test\", \"url\": \"https://www.deltar...\n", + " msl_l (y, x) float64 nan nan nan nan nan nan ... nan nan nan nan nan\n", + "Attributes: (12/18)\n", + " TITLE: Mean Sea Level for CoCliCo Integrated Scenario High-end\n", + " TITLE_ABBREVIATION: msl_cis_high-end\n", + " DESCRIPTION: The Mean Sea Level for CoCliCo Integrated Scenario H...\n", + " SHORT_DESCRIPTION: The MSL_CIS_HIGH-END dataset provides AR6-based regi...\n", + " INSTITUTION: BRGM, French Geological Survey\n", + " PROVIDERS: {\"name\": \"BRGM, French Geological Survey\", \"url\": \"w...\n", " ... ...\n", - " DOI: to be done later...\n", - " LONG_NAME: SLP\n", + " TAGS: ['mean sea level', 'sea level rise', 'IPCC AR6']\n", + " LONG_NAME: MEAN_SEA_LEVEL\n", " UNITS: m\n", - " COMMENT: test is in the works\n", + " COMMENT: This dataset combines AR6 sea-level change projectio...\n", " CRS: EPSG:4326\n", " Conventions: CF-1.8" ] }, - "execution_count": 10, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" + }, + { + "data": { + "application/javascript": "\n setTimeout(function() {\n var nbb_cell_id = 9;\n var nbb_unformatted_code = \"dad\";\n var nbb_formatted_code = \"dad\";\n var nbb_cells = Jupyter.notebook.get_cells();\n for (var i = 0; i < nbb_cells.length; ++i) {\n if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n nbb_cells[i].set_text(nbb_formatted_code);\n }\n break;\n }\n }\n }, 500);\n ", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "dad" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Hopefully data is the same\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnUAAAHFCAYAAACU1Q+8AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOx9eZgUxf3+291z7S4sICCHIoeIyuGFCSAq5Gu8b0zEI4ooEo8ExRt/CEgQFUzEA1EDgkSCxGiMt2DEAyEeeEVForIGRBBBYGF3Z2emu35/dFdPdXVVd8+5C/T7PPvsTHVd3dNd9fbnVAghBCFChAgRIkSIECF2aahNPYEQIUKECBEiRIgQhSMkdSFChAgRIkSIELsBQlIXIkSIECFChAixGyAkdSFChAgRIkSIELsBQlIXIkSIECFChAixGyAkdSFChAgRIkSIELsBQlIXIkSIECFChAixGyAkdSFChAgRIkSIELsBQlIXIkSIECFChAixGyAkdUXC8uXLMWnSJGzbts11bOjQoRg6dGjZ51QO/Pe//8UNN9yA/v37o3Xr1thrr70wePBg/P3vfxfW37RpEy655BK0a9cOlZWVGDRoEP71r395jtHQ0IBevXpBURTcc889ruPjx4/Haaedhn322QeKouCSSy7J+TyCzOvbb7+FoijSv5NOOinweA888AAOOuggxONxdO/eHbfffjvS6bSjzjPPPIPzzz8fPXv2REVFBbp164YLL7wQX331VaAxPv/8c1x11VUYNGgQqqqqoCgK3njjDVe9DRs2YPz48Rg0aBDatWuH6upq9O/fH48++ih0XQ98TmvWrMGwYcPQunVrtGjRAscffzw+/PBDYd0nn3wShx12GBKJBDp37oxrr70WO3fubJZjNQd8//33mDRpEj7++GPXsUmTJkFRlLz6LaRtoRg/fjz2228/RCIRtG7dumzj7ty5E9deey06d+6MRCKBww47DE8++WTZxg8RoqQgIYqC6dOnEwCkpqbGdezzzz8nn3/+efknVQY88MAD5KCDDiJ33HEHWbx4MXnppZfIiBEjCABy++23O+omk0nSt29fsu+++5InnniCLF68mJx55pkkEomQN954QzrG9ddfTzp37kwAkOnTp7uOV1ZWkoEDB5IrrriCxGIxMmLEiJzOIei8kskkWbFihevv5ptvJgDIww8/HGi8KVOmEEVRyLhx48jSpUvJtGnTSCwWI5dffrmj3s9//nNyxhlnkMcee4y88cYb5C9/+Qs5+OCDSYsWLchnn33mO868efNIp06dyCmnnEJOP/10AoAsXbrUVe/5558nXbp0If/v//0/8uKLL5LFixeTsWPHElVVyciRIwOd06ZNm0jnzp1Jnz59yNNPP01efPFFcvTRR5OWLVuSL7/80lH3iSeeIADIqFGjyOuvv04efvhh0qpVK3L88cc3u7GaC95//30CgMydO9d1bN26dWTFihV59Ttx4kTSFNvAs88+SwCQ//f//h9ZtmwZef/998s29vHHH09at25NHn74YfL666+TUaNGEQBkwYIFZZtDiBClQkjqigQvUrc748cffySGYbjKTz31VFJZWUmSyaRdNnPmTAKALF++3C5Lp9Okd+/e5Oc//7mw/3fffZfEYjHy1FNPSUmdruv256qqqpxJXT7zYjF06FBSWVlJtm/f7lt38+bNJJFIkNGjRzvK77jjDqIoioP8//DDD67269evJ9FolFx22WW+Y7HXhV4/Ean76aefSCqVcpVfffXVBABZu3at71g33ngjiUaj5Ntvv7XLtm/fTtq1a0fOPfdcuyyTyZBOnTqRE044wdF+wYIFBAB56aWXmtVYzQVepK4QFIvU1dXV5VR/ypQpBIDwHi8lXnzxRQKA/PWvf3WUH3/88aRz584kk8mUdT4hQhQbIakrAujCyP/RDXTIkCFkyJAhdv2amhoCgEybNo3cddddpGvXriSRSJAhQ4aQ1atXk1QqRW6++WbSqVMnUl1dTc466yzh4vfkk0+SgQMHksrKSlJVVUVOOOEE8uGHH5bprL1x++23EwDk+++/t8t++ctfkgMPPNBVd+rUqQQA+e677xzljY2NpE+fPmTs2LH2NROROhb5kLpc58Xi66+/JoqikEsuuSTQWFRyxEtWvv/+ewKA3HHHHb59dO/e3UVU/OBF6mR4/PHHXWRXhp49e5ITTzzRVT569GhSUVFB0uk0IYSQZcuWEQBk4cKFjnqpVIq0aNHCJa1s6rFE+Ne//kWGDBlC9tprL5JIJEiXLl3IsGHDbGJD79W7776bTJkyhXTp0oXE43HSv39/8tprrzn6+uqrr8gll1xCevbsSSoqKkjnzp3JaaedRj799FO7ztKlS4Xry8SJEwkhYmL25JNPkuOP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v+4KzMvGbksmk6RPnz6kS5cuZMGCBWTJkiXk7LPP9g0+TIj8mhFCyBtvvEGeeuop8tRTT5FEIkGGDh1qf9+0aZPvOeQzr4MOOoh06dLFEQsuKGjw4VtvvZW88cYbZPr06SQej7tCbPzud78jAMill17quq5BQtfU1dXZ1+H6668nAMikSZPIU0895YjR9uWXX5K2bduSvfbaizz//POusfhrqGka+b//+z9H2aZNm0inTp1Iv379yD/+8Q/y0ksvkWOPPZa0bNmSrFq1ylH3L3/5CwFARo8eTZYuXUoeffRR0rp1a2FA4HKOBcDxnIowa9Ys8utf/5rMmzePvP766+Sll14iv/rVrwgA8uqrrxJCsvdqly5dyNFHH02eeeYZ8ve//5387Gc/I5FIhCxbtszu7+KLLybxeJzce++95F//+heZNm0aad++Pdl3330dc6mrqyMVFRVk8ODBZOnSpeT9998n69evJ4S4w5Js3ryZtGnThhx66KHkmWeeIc8//zw577zzyAEHHOCKdVdISJMff/zRdWz06NGksrKS3HjjjeT5558nr7/+OlmwYAG58soryUMPPRSoj1Lj+OOPJ23atCGPPvooef3118nll19OAJAnnnii7HMJURiqq6vJf//7X1f5f//7X1JdXd0EM2p6hKSuiBg3bhzp3LkzUVU1UJy6QkgdIWZU9l/84hekurqaxONx0rVrV/KrX/3KFQurlJDF6KN/fFy0jRs3kosvvtiO8TVw4ECyZMkS33G8SN2QIUMCjy9DLvN65513CICCyPN9991HevXqRWKxGNlvv/3IxIkTXQGARfG86F/Xrl19x6DXzK89vb9kf3zAWxn5+frrr8lZZ51FqqurSWVlJTnuuOPIypUrhXP761//Sg455BASi8VIx44dyZgxY8iOHTtc9co11o4dOwgAct555wn7oFixYgU5++yzSdeuXUk8Hidt27YlQ4YMIc8995xdh41Td/vtt5N9992XxGIxcvjhh9vEj2Lr1q3ksssuI3vvvTeprKwkRx99NHn77bddawYhhCxcuJAcdNBBJBqN+sapW758ORk0aBCprKwk7du3J6NGjSIffvhhyUkdIYQ89thjZMCAAaSqqopUVFSQ/fffn1x88cXkgw8+CNxHKbFjxw4yZswY0rFjRxKLxcghhxziimUYYtdAhw4dyGOPPeYq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MneAAAECBHBERUUF2rVrhwMHDqCsrCxn+ygrK0PopCGAFOY3UmQkNrzc4CpK7Nu3D0OGDMHy5cshCAI2b96Mjh074oYbbkDjxo3xxz/+MWf77tChg+M6QRDw/fff52zfbggsdRZUVlYCANq1a1fHIwkQIECAAIcDKisrc0bqIpEIWrdujd0bXnZt17p1a0QikZyMob5i9OjRCIfD2LZtG0488US6fOjQoRg9enROSV2qdWfzhYDUWdC2bVts374dJSUldVb2g7z9HYnWwuDYDl8cyccXHNvhibo+Nk3TUFlZibZt2+ZsH9FoFFu2bHHVTAN08heN8mvDHqlYtmwZli5diqOPPtq0/Pjjj8fWrVvraFR1i4DUWSCKou0CqSuUlpYecQ9hguDYDl8cyccXHNvhibo8tlxZ6FhEo9EGR9j8oKqqiiskvHfvXhQUFORkn1OnTjV9nzRpUk72ky6CMmEBAgQIECBAgMMO/fr1w8KFC+l3QRCgqioeffRRnHPOOTnZ55YtW+jfDz/8kJN9ZILAUhcgQIAAAQIEOOzw6KOPon///vj8888Rj8dx33334ZtvvsEvv/yC//znPznZ5/z583PSb7YQWOrqIQoKCjB58uScmY/rEsGxHb44ko8vOLbDE0fysQXwxkknnYR169bhjDPOwHnnnYeqqioMHjwYa9eurXf6cflCIGkSIECAAAECBDgsEYvF8NVXX2HPnj1QVdW0buDAgXU0qrpD4H4NECBAgAABAhx2eOedd3Dddddh3759NsFhQRCgKA1PlDlwvwYIECBAgAABDjvccccduPLKK/Hjjz9CVVXTX0MkdEDgfg0QIECAAAECHIYoLS1t0PFzPASWugABAgQIECDAYYff/OY3+PDDD+t6GPUKAamrYzz00EPo06cPioqK0LhxY24bQRBsf3/+859Nbb7++mucffbZKCwsxFFHHYWpU6fmpaixG/wc27Zt23DppZeiuLgYzZs3x6hRo2zK6fXx2Kxo37697TcaO3asqY2fY62vePbZZ9GhQwdEo1Gcdtpp+Pjjj+t6SCljypQptt+odevWdL2maZgyZQratm2LwsJC9O/fH998800djtgZK1aswKWXXoq2bdtCEAS89tprpvV+jqW2thZ33nknmjdvjuLiYgwcOBA7duzI41Hw4XVs119/ve13PPPMM01t6uuxBcgunn76abz66qu4/vrr8cc//hFPPvmk6a8hIkiUqGPE43FceeWV6N27N+bNm+fYbv78+bjgggvod1bFvKKiAueddx7OOeccfPbZZ/h//+//4frrr0dxcTHGjBmT0/G7wevYFEXBxRdfjBYtWmDlypXYt28fhg8fDk3T8NRTTwGov8fGw9SpU3HjjTfS740aNaKf/RxrfcXixYtx991349lnn8VZZ52F5557DhdeeCE2bNiAY445pq6HlxK6dOmC9957j36XJIl+njlzJv70pz9hwYIF6NSpE6ZNm4bzzjsPmzZtQklJSV0M1xFVVVXo3r07RowYgSuuuMK23s+x3H333XjjjTfw0ksvoVmzZhgzZgwuueQSrFmzxnRe8g2vYwOACy64wKQXZq15Wl+PLUB28fe//x1Lly5FYWEhPvzwQ1NpT0EQMGrUqDocXR1BC1AvMH/+fK2srIy7DoD2z3/+03HbZ599VisrK9NisRhdNmPGDK1t27aaqqpZHmnqcDq2t956SxNFUdu5cyddtmjRIq2goEA7ePCgpmn1/9gIysvLtccff9xxvZ9jra8444wztFtuucW07IQTTtDGjh1bRyNKD5MnT9a6d+/OXaeqqta6dWvt4YcfpstisZhWVlam/fnPf87TCNOD9fng51gOHDighcNh7aWXXqJtdu7cqYmiqL3zzjt5G7sXeM++4cOHa5dddpnjNofLsQXIHK1atdIeeughTVGUuh5KvUHgfj1McMcdd6B58+Y4/fTT8ec//9mkx7N69WqcffbZJgHO888/Hz/++GO9LGNCsHr1anTt2pUWw54yZQquvvpq1NbWYs2aNbRNXR7bDz/8AEEQsGDBAs+2jzzyCJo1a4ZTTjkFDz30kMm1aj1WQD8O9lhZzJo1C4MHD0aHDh0gCAL69++fjcNJGfF4HGvWrMGAAQNMywcMGIBVq1Z5br9hwwZMmTKF+1tdf/31aN++fVrjSnfbzZs3o23btujQoQOuuuoqfP/99wD00j+7d+82HWdBQQHOPvts03HG43HccsstaNOmDSRJwimnnJLW+NPBnj17cP3116N58+YoKipC79698f7779va+TmWNWvWQJZlU5u2bduia9euvn7XusaHH36Ili1bolOnTrjxxhuxZ88euu5wP7YA/hGPxzF06FCIYkBlCIIzcRjgwQcfxJIlS/Dee+/h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997Tjj76aO2OO+7wPI9dunTRzj77bM92bnjsscc0ANqBAwcc2yxfvlwDoPXo0cOUWfzUU09pALS+fftqGzZs0O6++26tuLhY++GHH2ibRCKhHTp0SCsuLtaeeOIJunzJkiUaAG358uW2/Q0fPlwrLy93HI+iKJosy9rChQs1SZK0X375xfe2PHTp0kUDoD3yyCPaJ598ol1yySVaSUmJ9uSTT2oAtN/+9rdaWVmZ9uqrr2pff/21NmDAAA2A9qc//cm03+LiYl/7mzx5sq/rwc9xhMNh7eabb6bfKysrtbVr12oLFiygY1+7dq22detWTdM07eGHHzYdy9VXX621adNGq6iooH3ccsst2tFHH62999572hdffKH96le/0rp3764lEgmfZzQ3IMe2du1aev7JsVVWVmpjxozRVq1apW3ZskVbvny51rt3b+2oo446LI4tQIBcIyB1dQxCOqx/ZBJ8++23tVNOOUVr1KiRVlRUpHXt2lWbNWuWJsuyqZ+vvvpK69u3r1ZQUKC1bt1amzJlSp1Lfngdm6bpxO/iiy/WCgsLtWg0qgHQVq1aZerniy++0ARB0ERRpMf27bffaldffbXWqlUrTRAEU/+slMHw4cM1QRC0mpoaU59jx47VotEo/T5kyBCtpKTEdgyE6LiRujVr1minn366VlxcrEUiEa28vFy78cYbtY8//lj77LPP6N8bb7yhnXXWWVo0GtWaNm2q3XHHHSapFidkg9QRwjtgwABt8eLF2o4dO2xtyLHyXgaOP/54LRQKaZFIROvRo4f29ttva/fdd5927LHHapIkmc4/K3+SKqn74osvtEsvvVRr2rSp7br55JNPXLf1Qvv27TUAWigU0tq2basNHjxY++abb7Rrr71Wa9y4sVZbW6tNnDhRa9WqlRaJRLS+fftqzZs314YMGWLar19St3PnTtPv7/T31VdfefYVDodN55X8Vta/4cOHa5qmv+hMnjxZa926tVZQUKD169dP+/rrr0191tTUaHfccYfWtGlTrbCwULvkkku0bdu2+Tq2XMLt2Kqrq7UBAwZoLVq00MLhsHbMMcdow4cPt427vh5bgAC5RuB+rWMsWLDANS7nggsu4Ga4WdGtWzesWLEiiyPLHF7HBgDHHHMM/v3vfwNIJiZYBW1PPfVUtGzZEr1798Y///lPHDp0CJ07d0Y0GsW0adPQqVMnFBUVYfv27Rg8eDBqampM2xcVFSEajZqWFRQUIBaL0e/79u3jxtuwFQec0KNHD3z66acm96sTLrjgAkiSlPeA7X79+uG1117Dk08+ieuuuw61tbXo0qUL/vCHP+Dqq682teUdc48ePfDzzz/TOKWBAwfi/fffx8SJE3H66aejtLQUgiDgoosusp1/v9i2bRv69u2Lzp0744knnkD79u0RjUbx6aef4vbbb0+7X4Kzzz4be/bsscVd/vTTTzhw4IBJNgcArZqxd+/etPbXunVrtGzZ0rOdn2uhWbNmpri5/v37Q9M0vPnmm7jkkkuwdOlSk4SHIAiYMmUKpkyZ4thnNBrFU089Ve/Er8mxOWHp0qWefdTXYwuQOU499VTfz88vvvgix6OpfwhIXYB6h927d+Ooo46i3xOJBPbt20ezSD/44AP8+OOP+PDDD3H22WfTdgcOHEh7n82aNcOnn37KHYsf/PDDD+jQoYOvtsuXL68T3bnLLrsMl112GWpra/HJJ59gxowZuOaaa9C+fXtTAD7vmHfv3k3P/8GDB/Hvf/8bkydPNpVCq62txS+//JL2+F577TVUVVXh1VdfRXl5OV2ezYBn3mTQvHlzNGvWDO+88w53m3SrSUydOtUzUxwAysvLPTUXu3Xrhq+//tq2nCyrDxnSAQLkA5dffjn9HIvF8Oyzz+Kkk06iz7BPPvkE33zzjUlSqiEhIHUB6h1efPFFU/LAyy+/jEQiQYkQmZitlpXnnnsu7X2ec845ePnll/H6669j4MCBdPnf//53X9u3bdsWn332ma+2nTt3TmuM2QIRom3cuDGWLl2KtWvXmkjdokWLcM8999DzvHXrVqxatQrXXXcdAP38a5pmO/9z586Foii2fQHwZWXj/a6apuH5559P4yj945JLLsFLL70ERVHQq1evrPV700034ZJLLvFsZz2PPAwaNAi33XYb/vvf/9IxJhIJvPDCC+jVq5dJ1DpAgCMZkydPpp9/97vfYdSoUXjwwQdtbdjkoYaEgNQFqHd49dVXEQqFcN555+Gbb77BxIkT0b17d5rJ1qdPHzRp0gS33HILJk+ejHA4jBdffBHr1q1Le5/XXXcdHn/8cVx33XV46KGHcPzxx+Ott97y5eoB9NqTfrX5/ODzzz+n1puKigpomoZ//OMfAIDTTz+dWrKIhXD48OGuru5JkyZhx44dOPfcc3H00UfjwIEDeOKJJxAOh03WTkCXfhg0aBBuvPFGHDx4EJMnT0Y0GsW4ceMAAKWlpejXrx8effRRNG/eHO3bt8dHH32EefPm0YxsAmJBmjNnDkpKShCNRtGhQwdq9WNx3nnnIRKJ4Oqrr8Z9992HWCyG2bNn26Qpso2rrroKL774Ii666CLcddddOOOMMxAOh7Fjxw4sX74cl112GQYNGpRyv23bts0a2Ro5ciSeeeYZXHnllXj44YfRsmVLPPvss9i0aZOplm2AAA0JS5YsoUoDLH7729+iZ8+eWcmYP9wQ6NQFqHd49dVX8b///Q+DBw/GpEmTcOmll2LZsmVUrqVZs2Z48803UVRUhN/+9rcYOXIkGjVqlJGyeFFRET744AP8+te/xtixY/Gb3/wGO3bswEsvvZStw0oJTz/9NK688kpceeWV2L59OzZs2EC/s2n8hw4dAgCbJIwVvXr1wu7du3H//fdjwIABuOmmm1BYWIgPPvgAXbp0MbWdPn06ysvLMWLECIwcORJt2rTB8uXLTfIdf//733HOOefgvvvuw+DBg/H555/j3XffRVlZmamvDh06YNasWVi3bh369++P008/HW+88QZ3jCeccAJeeeUV7N+/H4MHD8add96JU045BU8++WRK5y5VSJKE119/HePHj8err76KQYMG4fLLL8fDDz+MaDSKbt265XT/flBQUID3338f55xzDu68805ceuml2LVrF95++20bKQ8QoKGgsLAQK1eutC1fuXKlLY66oUDQ3CJSAwQIUK/x7LPP4r777sN3332XsbDqhx9+iHPOOQdLlizBb37zmyyNMECAAAFyg4cffhhTpkzB7373Oyr4/sknn+Avf/kLJk2aZIr5bSgI3K8BAhzGWL58OUaNGhUo5QcIEKDBYezYsejYsSOeeOIJGv984oknYsGCBTRcp6EhIHUBAhzGWLJkSV0Poc7hp3JDKBQ86gIEOBIxZMiQBkvgeAjcrwECBDiscf311+Ovf/2ra5vgMRcgwJGLeDyOPXv22F7urJqnDQEBqQsQIMBhjR9++MFTIDibmckBAgSoH9i8eTNGjhyJVatWmZZrmgZBEGwSSw0BAakLECBAgAABAhx2OOussxAKhTB27Fi0adPGJi7evXv3OhpZ3SEgdQECBAgQIECAww7FxcVYs2YN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zWduIUepzJNO7a3LU+0zUyxcuBBz5szBtddeC4l5oTr55JPxv//9z3VbIh6cb2zZsoX+/fDDD1nvP6Ps1127dmHZsmVYtmwZJEnCRRddhG+++QYnnXQSZs6cidGjR2drnL7QvHlzSJJkezPYs2ePIxsfN24c7rnnHvq9oqKCEjse6jNRywR+jisXEiSpwilWp65/l+jgUYi9+iQA2DTyqMCsyNQAlZKxbmTkqqLUWbyRdZJK97eub+SP527NBmwZnpw6sARuOot0e5fr12/8o9O2gHedWadxsTj04lRKFK2hDuxLDfuCwI7bKaPUy6rHjsl23iznna1wYV12uEPVNKgOIfBk+fbt200xdQUFBba26cyTrVu35rYPhUJo1qyZa5tcWsJ27tzJzV5VVdXTc5ir7FMvzJ8/Pyf9EqRM6mRZxuuvv4758+dj2bJlOPnkkzF69Ghce+21KCnRNXReeukl3HrrrXkndZFIBKeddhreffddUxr1u+++i8suu4y7TUFBAffCzzbqqwsB8P/QS2diyfYkz5sQyLn1O3HlApGy5oiM4FsxCMmzVgqg1USMiYs9MhXpTUZ+LCbZBq/+6M+Pj0aL0Y/nfN9uIG5XYp1jka3zQkmwC8nzUw7OK4kqFRLIjodXZxbQrXWEpFlBrlOyD3JPWWMnnfbpNh52H6R6Bu+eJbGApj445NaL5DktSxX1gRgqmv7ntA4ASktLPRMl0pkne/fujTfeeMO0bNmyZejZsyclQ71798a7775rmveXLVuGPn36eB1a2ujSpQs+/vhjlJeXm5YvWbIEp556quu2mYoH11ekTOratGkDVVVx9dVX49NPP8Upp5xia3P++eejcePGWRhe6rjnnnswbNgw9OzZE71798acOXOwbds2m56OF+ravM/C8wGe4QSVynGmHIeU47GzqCtC5xdO7mGelYMo2GcssSGlJ4Xjx2LHGxu7rK6JHSUgllgzv9sBztnDbv0JkpgRyfOTJe9XR421DBOyRq5DNgvWbR9spix7XG5adW7jJH1UzNfdwLyXMVYsGUiSvFTJrde4/CKdKkLZhqZpcBKrSFWZzGueHDduHHbu3ImFCxcC0DNdn376adxzzz248cYbsXr1asybN8+U1XrXXXehX79+eOSRR3DZZZfhX//6F9577z2sXLkyzSP2xuTJkzFs2DDs3LkTqqri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3nnn2dunTp2KysrKNhV1zVl3tj0gUSdQXFyM/fv3o2fPnllb9sN6+uuK1kKaW+elK8+P5tY5yfbcGGM4duwYiouL26yPnJwc1NbWehbCBUzxl5OT02bj6IisWrUKK1euxOmnn+7YfvbZZ2Pv3r1ZGlV2IVEnoOu66wOSLXr16tXlfoQtaG6dl648P5pb5ySbc2srCx1PTk7OKSfY/HD8+HHp6hDffvstIpFIm/Q5b948x+tf/OIXbdJPc6E6dQRBEARBdDrGjBmD119/3X6taRoMw8CiRYswbty4NumztrbW/vf111+3SR8tgSx1BEEQBEF0OhYtWoSxY8fi888/RzQaxYMPPogdO3bgu+++wyeffNImfb766qtt0m5rQZa6DkgkEsGcOXPazHycTWhunZeuPD+aW+ekK8+NSM/QoUOxdetWXHrppbjmmmtw/PhxTJ48GVu2bOlw9ePaCyppQhAEQRBEp6SxsRHbtm1DfX09DMNw7Js0aVKWRpU9yP1KEARBEESn48MPP8Qdd9yBhoYGV8FhTdOyugZrtiD3K0EQBEEQnY5Zs2bh1ltvxYEDB2AYhuPfqSjoAHK/EgRBEATRCenVq9cpHT8ngyx1BEEQBEF0Om655RasW7cu28PoUJCoyzLz58/HqFGj0K1bN/Tu3Vt6jKZprn8vvvii45iamhpceeWVyM3NxWmnnYZ58+a1y6LGXviZ2759+3DDDTege/fuKCgoQEVFhatyekecm8iZZ57peo9+9rOfOY7xM9eOyvPPP49BgwYhJycHw4cPx5///OdsDylj5s6d63qPCgsL7f2MMcydOxfFxcXIzc3F2LFjsWPHjiyOWM2f/vQn3HDDDSguLoamaXj77bcd+/3MpampCT/96U9RUFCA7t27Y9KkSfj73//ejrOQk25u06dPd72Pl112meOYjjo3onV59tlnsWLFCkyfPh2LFy/Gr371K8e/UxFKlMgy0WgUt956K8rKyrB06VLlca+++iomTJhgv+armB89ehTXXHMNxo0bh82bN+Ovf/0rpk+fju7du6OqqqpNx+9FurklEglcf/316NevH9avX4+GhgaUl5eDMYYlS5YA6LhzkzFv3jzMmDHDft2jRw/7bz9z7agsX74c9957L55//nlcfvnl+PWvf43rrrsOO3fuxBlnnJHt4WXEv/zLv2DNmjX260AgYP+9cOFCPPXUU3jttdcwZMgQ/PKXv8Q111yDr776Cj179szGcJUcP34cF1xwAe68807cfPPNrv1+5nLvvffi3XffxbJly9C3b19UVVVh4sSJqK6udlyX9ibd3ABgwoQJjnph4pqnHXVuROvyX//1X1i5ciVyc3Oxbt06x9KemqahoqIii6PLEozoELz66qssLy9Pug8A+8Mf/qA89/nnn2d5eXmssbHR3vb444+z4uJiZhhGK480c1Rze//995mu6+wf//iHve3NN99kkUiEHTlyhDHW8edmUVJSwp5++mnlfj9z7ahceumlbObMmY5t5557LvvZz36WpRE1jzlz5rALLrhAus8wDFZYWMieeOIJe1tjYyPLy8tjL774YjuNsHmIvw9+5nL48GEWCoXYsmXL7GP+8Y9/MF3X2YcffthuY0+H7LevvLyc/fCHP1Se01nmRrScAQMGsPnz57NEIpHtoXQYyP3aSZg1axYKCgpwySWX4MUXX3TU49m4cSOuvPJKRwHOa6+9FgcOHOiQy5hYbNy4EaWlpY7FsK+99lo0NTWhurraPqazzG3BggXo27cvLrzwQsyfP9/hWvUz145INBpFdXU1xo8f79g+fvx4bNiwIUujaj67du1CcXExBg0ahGnTpmHPnj0AzKV/6urqHPOMRCK48sorO908/cyluroasVjMcUxxcTFKS0s7xXzXrVuH/v37Y8iQIZgxYwbq6+vtfZ19boR/otEopk6dCl0nKWNBV6IT8Oijj+J3v/sd1qxZg2nTpqGqqgqPPfaYvb+urg4DBgxwnGO9rqura9exZoJs3Pn5+QiHw/a4O8vc7rnnHixbtgxr167FrFmz8Mwzz+Duu++29/uZa0fk22+/RSKRkL4HHXncMkaOHInXX38dK1euxMsvv4y6ujqMGjUKDQ0N9ly6wjz9zKWurg7hcBj5+fnKYzoq1113HX7729/io48+wuLFi7F582ZcddVVaGpqAtC550ZkRnl5OZYvX57tYXQoKKauDZg7dy4eeeQRz2M2b96MESNG+Grv5z//uf33hRdeCMCM3+K387EEAOxEAnF7S2ntucnGxxhzxUaI+1XntiaZzLWystLeNmzYMOTn5+OWW26xrXeq8Ypz7ajI3oPOMG6e6667zv77/PPPR1lZGc466yz85je/sQPtu8I8LZozl84w36lTp9p/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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/javascript": "\n setTimeout(function() {\n var nbb_cell_id = 10;\n var nbb_unformatted_code = \"fig, axs = plt.subplots(2,1)\\n# Plot original data\\nslp_test.isel(time = 1)['msl_h'].plot.pcolormesh(ax=axs[0])\\n\\n# Plot newly created data\\nslp_check = rio.open_rasterio(r\\\"p:\\\\11207608-coclico\\\\FULLTRACK_DATA\\\\WP3\\\\cog\\\\2041\\\\msl_h.tif\\\")\\nslp_check.plot(ax=axs[1])\\nprint('Hopefully data is the same')\";\n var nbb_formatted_code = \"fig, axs = plt.subplots(2, 1)\\n# Plot original data\\nslp_test.isel(time=1)[\\\"msl_h\\\"].plot.pcolormesh(ax=axs[0])\\n\\n# Plot newly created data\\nslp_check = rio.open_rasterio(\\n r\\\"p:\\\\11207608-coclico\\\\FULLTRACK_DATA\\\\WP3\\\\cog\\\\2041\\\\msl_h.tif\\\"\\n)\\nslp_check.plot(ax=axs[1])\\nprint(\\\"Hopefully data is the same\\\")\";\n var nbb_cells = Jupyter.notebook.get_cells();\n for (var i = 0; i < nbb_cells.length; ++i) {\n if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n nbb_cells[i].set_text(nbb_formatted_code);\n }\n break;\n }\n }\n }, 500);\n ", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ - "ds_list[0]" + "fig, axs = plt.subplots(2,1)\n", + "# Plot original data\n", + "slp_test.isel(time = 1)['msl_h'].plot.pcolormesh(ax=axs[0])\n", + "\n", + "# Plot newly created data\n", + "slp_check = rio.open_rasterio(r\"p:\\11207608-coclico\\FULLTRACK_DATA\\WP3\\cog\\2041\\msl_h.tif\")\n", + "slp_check.plot(ax=axs[1])\n", + "print('Hopefully data is the same')" ] }, { @@ -1075,3404 +1280,75 @@ "outputs": [ { "data": { - "text/html": [ - "
\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
<xarray.Dataset>\n",
-       "Dimensions:   (time: 4, nensemble: 3)\n",
-       "Coordinates:\n",
-       "  * time      (time) int64 2030 2050 2100 2150\n",
-       "    ensemble  (nensemble) |S6 b'low' b'median' b'high'\n",
-       "Dimensions without coordinates: nensemble\n",
-       "Data variables:\n",
-       "    slr       (nensemble, time) float64 0.07438 0.1807 0.5954 ... 1.41 5.242\n",
-       "Attributes: (12/21)\n",
-       "    TITLE:               Sea level projections\n",
-       "    TITLE_ABBREVIATION:  slp\n",
-       "    DESCRIPTION:         to be done later...\n",
-       "    SHORT_DESCRIPTION:   to be done later...\n",
-       "    INSTITUTION:         to be done later...\n",
-       "    PROVIDERS:           {"name": "Deltares Test", "url": "https://www.deltar...\n",
-       "    ...                  ...\n",
-       "    DOI:                 to be done later...\n",
-       "    LONG_NAME:           SLP\n",
-       "    UNITS:               m\n",
-       "    COMMENT:             test is in the works\n",
-       "    CRS:                 EPSG:4326\n",
-       "    Conventions:         CF-1.8
" - ], - "text/plain": [ - "\n", - "Dimensions: (time: 4, nensemble: 3)\n", - "Coordinates:\n", - " * time (time) int64 2030 2050 2100 2150\n", - " ensemble (nensemble) |S6 b'low' b'median' b'high'\n", - "Dimensions without coordinates: nensemble\n", - "Data variables:\n", - " slr (nensemble, time) float64 0.07438 0.1807 0.5954 ... 1.41 5.242\n", - "Attributes: (12/21)\n", - " TITLE: Sea level projections\n", - " TITLE_ABBREVIATION: slp\n", - " DESCRIPTION: to be done later...\n", - " SHORT_DESCRIPTION: to be done later...\n", - " INSTITUTION: to be done later...\n", - " PROVIDERS: {\"name\": \"Deltares Test\", \"url\": \"https://www.deltar...\n", - " ... ...\n", - " DOI: to be done later...\n", - " LONG_NAME: SLP\n", - " UNITS: m\n", - " COMMENT: test is in the works\n", - " CRS: EPSG:4326\n", - " Conventions: CF-1.8" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ds_list_CF[0]" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
<xarray.DataArray 'slr' (nensemble: 3, time: 4)>\n",
-       "array([[0.07437646, 0.18074177, 0.5954425 , 0.88035513],\n",
-       "       [0.11957024, 0.26407631, 0.90284148, 2.01160665],\n",
-       "       [0.17772071, 0.40028073, 1.41008318, 5.24169474]])\n",
-       "Coordinates:\n",
-       "  * time      (time) int64 2030 2050 2100 2150\n",
-       "    ensemble  (nensemble) |S6 b'low' b'median' b'high'\n",
-       "Dimensions without coordinates: nensemble\n",
-       "Attributes:\n",
-       "    long_name:  sea level projections\n",
-       "    units:      m
" - ], - "text/plain": [ - "\n", - "array([[0.07437646, 0.18074177, 0.5954425 , 0.88035513],\n", - " [0.11957024, 0.26407631, 0.90284148, 2.01160665],\n", - " [0.17772071, 0.40028073, 1.41008318, 5.24169474]])\n", - "Coordinates:\n", - " * time (time) int64 2030 2050 2100 2150\n", - " ensemble (nensemble) |S6 b'low' b'median' b'high'\n", - "Dimensions without coordinates: nensemble\n", - "Attributes:\n", - " long_name: sea level projections\n", - " units: m" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ds_list_CF[0][\"slr\"]" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
<xarray.DataArray 'slr' (nensemble: 3)>\n",
-       "array([0.18074177, 0.26407631, 0.40028073])\n",
-       "Coordinates:\n",
-       "    time      int64 2050\n",
-       "    ensemble  (nensemble) |S6 b'low' b'median' b'high'\n",
-       "Dimensions without coordinates: nensemble\n",
-       "Attributes:\n",
-       "    long_name:  sea level projections\n",
-       "    units:      m
" - ], - "text/plain": [ - "\n", - "array([0.18074177, 0.26407631, 0.40028073])\n", - "Coordinates:\n", - " time int64 2050\n", - " ensemble (nensemble) |S6 b'low' b'median' b'high'\n", - "Dimensions without coordinates: nensemble\n", - "Attributes:\n", - " long_name: sea level projections\n", - " units: m" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ds_list_CF[0][\"slr\"].sel(time=2050)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "MSL_Genova_high_end_CF.nc\n", - "MSL_Genova_ssp126_CF.nc\n", - "MSL_Genova_ssp245_CF.nc\n", - "MSL_Genova_ssp585_CF.nc\n", - "MSL_LaRochelle_high_end_CF.nc\n", - "MSL_LaRochelle_ssp126_CF.nc\n", - "MSL_LaRochelle_ssp245_CF.nc\n", - "MSL_LaRochelle_ssp585_CF.nc\n", - "MSL_SanSebastian_high_end_CF.nc\n", - "MSL_SanSebastian_ssp126_CF.nc\n", - "MSL_SanSebastian_ssp245_CF.nc\n", - "MSL_SanSebastian_ssp585_CF.nc\n", - "MSL_Valencia_high_end_CF.nc\n", - "MSL_Valencia_ssp126_CF.nc\n", - "MSL_Valencia_ssp245_CF.nc\n", - "MSL_Valencia_ssp585_CF.nc\n" - ] - } - ], - "source": [ - "# List all files that end with '_CF.nc'\n", - "CF_files = [f for f in os.listdir(dataset_dir) if f.endswith('_CF.nc') and f.startswith(\"MSL\")]\n", - "\n", - "# Extract unique locations and climate projection scenario's (ssps)\n", - "locs = list(np.unique([f.split('_')[1] for f in CF_files]))\n", - "ssps = list(np.unique([f.split('_')[2] for f in CF_files]))\n", - "\n", - "ds_list_CF_merge1 = []\n", - "for loc in locs:\n", - " ds_ls = []\n", - " for ds, CF_file in zip(ds_list_CF, CF_files):\n", - " if loc in CF_file:\n", - " print(CF_file)\n", - " ds_ls.append(ds)\n", - " ds_list_CF_merge1.append(ds_ls)" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "ds_list_CF_merge2 = []\n", - "for ds_lists, loc in zip(ds_list_CF_merge1, locs):\n", - " ds = xr.concat(ds_lists, dim='nscenarios')\n", - " ds = ds.assign(scenarios=([\"nscenarios\"], np.array(ssps, dtype=\"S\")))\n", - " ds = ds.set_coords(\"scenarios\")\n", - " \n", - " # add or change certain variable / coordinate attributes\n", - " dataset_attributes = {\"scenarios\": {\"long_name\": \"shared socioeconomic pathways\", \"units\": \"1\"} # set to 1 if no unit\n", - " } # specify custom (CF convention) attributes\n", - " \n", - " # add / overwrite attributes\n", - " for k, v in dataset_attributes.items():\n", - " try:\n", - " ds[k].attrs = dataset_attributes[k]\n", - " except:\n", - " continue\n", - " \n", - " ds_list_CF_merge2.append(ds)\n", - "\n", - "# merge areas\n", - "ds_CF_merge = xr.concat(ds_list_CF_merge2, dim=\"nstations\")\n", - "ds_CF_merge = ds_CF_merge.assign(stations=([\"nstations\"], np.array(locs, dtype=\"S\")))\n", - "ds_CF_merge = ds_CF_merge.set_coords(\"stations\")\n", - "\n", - "# Add coordinates of location (lat,lon)\n", - "lat = [44, 46, 43.5, 39.5]\n", - "lon = [9, -1.5, -2, 0]\n", - "\n", - "ds_CF_merge = ds_CF_merge.assign_coords(lat=(\"nstations\",lat))\n", - "ds_CF_merge = ds_CF_merge.assign_coords(lon=(\"nstations\",lon))\n", - "\n", - "dataset_attributes = {\"stations\": {\"long_name\": \"stations\", \"units\": \"1\"},\n", - " \"lat\": {\"standard_name\": \"latitude\", \"units\": \"degrees_north\"},\n", - " \"lon\": {\"standard_name\": \"longitude\", \"units\": \"degrees_east\"} \n", - " } # specify custom (CF convention) attributes\n", - "\n", - "for k, v in dataset_attributes.items():\n", - " try:\n", - " ds_CF_merge[k].attrs = dataset_attributes[k]\n", - " except:\n", - " continue" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
<xarray.Dataset>\n",
-       "Dimensions:    (time: 4, nensemble: 3, nstations: 4, nscenarios: 4)\n",
-       "Coordinates:\n",
-       "  * time       (time) int64 2030 2050 2100 2150\n",
-       "    ensemble   (nensemble) |S6 b'low' b'median' b'high'\n",
-       "    scenarios  (nscenarios) |S6 b'high' b'ssp126' b'ssp245' b'ssp585'\n",
-       "    stations   (nstations) |S12 b'Genova' b'LaRochelle' ... b'Valencia'\n",
-       "    lat        (nstations) float64 44.0 46.0 43.5 39.5\n",
-       "    lon        (nstations) float64 9.0 -1.5 -2.0 0.0\n",
-       "Dimensions without coordinates: nensemble, nstations, nscenarios\n",
-       "Data variables:\n",
-       "    slr        (nstations, nscenarios, nensemble, time) float64 0.07438 ... 1...\n",
-       "Attributes: (12/21)\n",
-       "    TITLE:               Sea level projections\n",
-       "    TITLE_ABBREVIATION:  slp\n",
-       "    DESCRIPTION:         to be done later...\n",
-       "    SHORT_DESCRIPTION:   to be done later...\n",
-       "    INSTITUTION:         to be done later...\n",
-       "    PROVIDERS:           {"name": "Deltares Test", "url": "https://www.deltar...\n",
-       "    ...                  ...\n",
-       "    DOI:                 to be done later...\n",
-       "    LONG_NAME:           SLP\n",
-       "    UNITS:               m\n",
-       "    COMMENT:             test is in the works\n",
-       "    CRS:                 EPSG:4326\n",
-       "    Conventions:         CF-1.8
" - ], - "text/plain": [ - "\n", - "Dimensions: (time: 4, nensemble: 3, nstations: 4, nscenarios: 4)\n", - "Coordinates:\n", - " * time (time) int64 2030 2050 2100 2150\n", - " ensemble (nensemble) |S6 b'low' b'median' b'high'\n", - " scenarios (nscenarios) |S6 b'high' b'ssp126' b'ssp245' b'ssp585'\n", - " stations (nstations) |S12 b'Genova' b'LaRochelle' ... b'Valencia'\n", - " lat (nstations) float64 44.0 46.0 43.5 39.5\n", - " lon (nstations) float64 9.0 -1.5 -2.0 0.0\n", - "Dimensions without coordinates: nensemble, nstations, nscenarios\n", - "Data variables:\n", - " slr (nstations, nscenarios, nensemble, time) float64 0.07438 ... 1...\n", - "Attributes: (12/21)\n", - " TITLE: Sea level projections\n", - " TITLE_ABBREVIATION: slp\n", - " DESCRIPTION: to be done later...\n", - " SHORT_DESCRIPTION: to be done later...\n", - " INSTITUTION: to be done later...\n", - " PROVIDERS: {\"name\": \"Deltares Test\", \"url\": \"https://www.deltar...\n", - " ... ...\n", - " DOI: to be done later...\n", - " LONG_NAME: SLP\n", - " UNITS: m\n", - " COMMENT: test is in the works\n", - " CRS: EPSG:4326\n", - " Conventions: CF-1.8" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ds_CF_merge" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [], - "source": [ - "# write to NetCDF file to check compliancy\n", - "\n", - "# prevent file locking, see: https://github.com/pydata/xarray/issues/2376\n", - "import os\n", - "os.environ['HDF5_USE_FILE_LOCKING'] = 'FALSE'\n", - "\n", - "ds_CF_merge.to_netcdf(path=str(dataset_dir_path).replace(\".nc\", \"_CF.nc\"))" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [], - "source": [ - "%%capture cap --no-stderr\n", - "\n", - "# check altered CF compliancy\n", - "check_compliancy(testfile=str(dataset_dir_path).replace(\".nc\", \"_CF.nc\"), working_dir=CF_dir)" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'P:\\\\11205479-coclico\\\\FULLTRACK_DATA\\\\WP3\\\\pilot\\\\SLP_MvS_CF.nc': {'warnings': '0', 'errors': '0'}}\n" - ] - } - ], - "source": [ - "# save original CF compliancy (for first file)\n", - "save_compliancy(cap, testfile=str(dataset_dir_path).replace(\".nc\", \"_CF.nc\"), working_dir=CF_dir) " - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# export to zarr in write mode (to overwrite if exists)\n", - "ds_CF_merge.to_zarr(dataset_dir.joinpath(\"%s.zarr\" % ds_out_file), mode=\"w\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [], - "source": [ - "# check\n", - "check = xr.open_zarr(dataset_dir.joinpath(\"%s.zarr\" % ds_out_file))" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
<xarray.Dataset>\n",
-       "Dimensions:    (nensemble: 3, nstations: 4, nscenarios: 4, time: 4)\n",
-       "Coordinates:\n",
-       "    ensemble   (nensemble) |S6 dask.array<chunksize=(3,), meta=np.ndarray>\n",
-       "    lat        (nstations) float64 dask.array<chunksize=(4,), meta=np.ndarray>\n",
-       "    lon        (nstations) float64 dask.array<chunksize=(4,), meta=np.ndarray>\n",
-       "    scenarios  (nscenarios) |S6 dask.array<chunksize=(4,), meta=np.ndarray>\n",
-       "    stations   (nstations) |S12 dask.array<chunksize=(4,), meta=np.ndarray>\n",
-       "  * time       (time) int64 2030 2050 2100 2150\n",
-       "Dimensions without coordinates: nensemble, nstations, nscenarios\n",
-       "Data variables:\n",
-       "    slr        (nstations, nscenarios, nensemble, time) float64 dask.array<chunksize=(4, 4, 3, 4), meta=np.ndarray>\n",
-       "Attributes: (12/21)\n",
-       "    AUTHOR:              to be done later...\n",
-       "    CITATION:            to be done later...\n",
-       "    COMMENT:             test is in the works\n",
-       "    CRS:                 EPSG:4326\n",
-       "    Conventions:         CF-1.8\n",
-       "    DESCRIPTION:         to be done later...\n",
-       "    ...                  ...\n",
-       "    SPATIAL_EXTENT:      [-180, -90, 180, 90]\n",
-       "    TAGS:                ['climate change', 'extreme sea level', 'deltas']\n",
-       "    TEMPORAL_EXTENT:     ['2150-01-01T00:00:00Z']\n",
-       "    TITLE:               Sea level projections\n",
-       "    TITLE_ABBREVIATION:  slp\n",
-       "    UNITS:               m
" - ], - "text/plain": [ - "\n", - "Dimensions: (nensemble: 3, nstations: 4, nscenarios: 4, time: 4)\n", - "Coordinates:\n", - " ensemble (nensemble) |S6 dask.array\n", - " lat (nstations) float64 dask.array\n", - " lon (nstations) float64 dask.array\n", - " scenarios (nscenarios) |S6 dask.array\n", - " stations (nstations) |S12 dask.array\n", - " * time (time) int64 2030 2050 2100 2150\n", - "Dimensions without coordinates: nensemble, nstations, nscenarios\n", - "Data variables:\n", - " slr (nstations, nscenarios, nensemble, time) float64 dask.array\n", - "Attributes: (12/21)\n", - " AUTHOR: to be done later...\n", - " CITATION: to be done later...\n", - " COMMENT: test is in the works\n", - " CRS: EPSG:4326\n", - " Conventions: CF-1.8\n", - " DESCRIPTION: to be done later...\n", - " ... ...\n", - " SPATIAL_EXTENT: [-180, -90, 180, 90]\n", - " TAGS: ['climate change', 'extreme sea level', 'deltas']\n", - " TEMPORAL_EXTENT: ['2150-01-01T00:00:00Z']\n", - " TITLE: Sea level projections\n", - " TITLE_ABBREVIATION: slp\n", - " UNITS: m" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "check" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "b'Genova'\n", - "b'ssp126'\n", - "b'low'\n", - "[0.06440561 0.14773355 0.32510475 0.41863393]\n" - ] - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
<xarray.Dataset>\n",
-       "Dimensions:    (time: 4)\n",
-       "Coordinates:\n",
-       "    ensemble   |S6 dask.array<chunksize=(), meta=np.ndarray>\n",
-       "    lat        float64 dask.array<chunksize=(), meta=np.ndarray>\n",
-       "    lon        float64 dask.array<chunksize=(), meta=np.ndarray>\n",
-       "    scenarios  |S6 dask.array<chunksize=(), meta=np.ndarray>\n",
-       "    stations   |S12 dask.array<chunksize=(), meta=np.ndarray>\n",
-       "  * time       (time) int64 2030 2050 2100 2150\n",
-       "Data variables:\n",
-       "    slr        (time) float64 dask.array<chunksize=(4,), meta=np.ndarray>\n",
-       "Attributes: (12/21)\n",
-       "    AUTHOR:              to be done later...\n",
-       "    CITATION:            to be done later...\n",
-       "    COMMENT:             test is in the works\n",
-       "    CRS:                 EPSG:4326\n",
-       "    Conventions:         CF-1.8\n",
-       "    DESCRIPTION:         to be done later...\n",
-       "    ...                  ...\n",
-       "    SPATIAL_EXTENT:      [-180, -90, 180, 90]\n",
-       "    TAGS:                ['climate change', 'extreme sea level', 'deltas']\n",
-       "    TEMPORAL_EXTENT:     ['2150-01-01T00:00:00Z']\n",
-       "    TITLE:               Sea level projections\n",
-       "    TITLE_ABBREVIATION:  slp\n",
-       "    UNITS:               m
" - ], + "application/javascript": "\n setTimeout(function() {\n var nbb_cell_id = 11;\n var nbb_unformatted_code = \"# Hard code the various ssp scenarios considered\\nscens = 'high_end', 'ssp126', 'ssp245', 'ssp585'\\n\\n# List all nc-files from data folder\\nfile_list = glob.glob(str(ds_dir.joinpath(\\\"*.nc\\\")))\\n\\nfor scen, file in zip(scens, file_list):\\n if not scen in file:\\n raise ValueError('The some or more of the strings defined in scens are not found in your file_list')\\n \\nfor scen, file in zip(scens, file_list):\\n\\n slp = xr.open_dataset(file, engine=\\\"rasterio\\\", mask_and_scale=False) \\n\\n for var in slp:\\n for itime, time in enumerate(slp_test['time'].values): \\n \\n # Select the variable and timestep from dataset\\n da = slp[var].isel(time = itime)\\n da.drop('time')\\n\\n # Set no data values\\n da = (\\n da.where(da != -2147483648, -9999)\\n .astype(\\\"float64\\\")\\n .rio.write_nodata(-9999)\\n .rio.set_spatial_dims(x_dim=\\\"x\\\", y_dim=\\\"y\\\")\\n )\\n\\n # Set final output file name, nc-file is broken down into tif's \\n item_name = str(time.year) + '.tif'\\n \\n # convert to dataset\\n dad = da.to_dataset()\\n\\n # add all attributes (again)\\n for attr_name, attr_val in meta_data.items():\\n if attr_name == 'PROVIDERS':\\n attr_val = json.dumps(attr_val)\\n if attr_name == \\\"MEDIA_TYPE\\\": # change media type to tiff, leave the rest as is\\n attr_val = \\\"IMAGE/TIFF\\\"\\n if attr_name == 'TEMPORAL_EXTENT': # only add the relevant year to the tif\\n attr_val = attr_val[itime] \\t# NOTE: coded to match timing of the netcdf\\n dad.attrs[attr_name] = attr_val\\n\\n\\n dad.attrs['Conventions'] = \\\"CF-1.8\\\"\\n\\n # Remove leftover NETCDF attributes\\n attrs_del = 'NETCDF_DIM_EXTRA','NETCDF_DIM_time_DEF','NETCDF_DIM_time_VALUES'\\n for attr_del in attrs_del:\\n del dad[var].attrs[attr_del]\\n\\n # export file\\n outpath = cog_dirs.joinpath(scen, str(var))\\n outpath.mkdir(parents=True, exist_ok=True)\\n outpath = outpath.joinpath(item_name)\\n dad.rio.to_raster(outpath, compress = 'DEFLATE', driver= 'COG')\";\n var nbb_formatted_code = \"# Hard code the various ssp scenarios considered\\nscens = \\\"high_end\\\", \\\"ssp126\\\", \\\"ssp245\\\", \\\"ssp585\\\"\\n\\n# List all nc-files from data folder\\nfile_list = glob.glob(str(ds_dir.joinpath(\\\"*.nc\\\")))\\n\\nfor scen, file in zip(scens, file_list):\\n if not scen in file:\\n raise ValueError(\\n \\\"The some or more of the strings defined in scens are not found in your file_list\\\"\\n )\\n\\nfor scen, file in zip(scens, file_list):\\n slp = xr.open_dataset(file, engine=\\\"rasterio\\\", mask_and_scale=False)\\n\\n for var in slp:\\n for itime, time in enumerate(slp_test[\\\"time\\\"].values):\\n # Select the variable and timestep from dataset\\n da = slp[var].isel(time=itime)\\n da.drop(\\\"time\\\")\\n\\n # Set no data values\\n da = (\\n da.where(da != -2147483648, -9999)\\n .astype(\\\"float64\\\")\\n .rio.write_nodata(-9999)\\n .rio.set_spatial_dims(x_dim=\\\"x\\\", y_dim=\\\"y\\\")\\n )\\n\\n # Set final output file name, nc-file is broken down into tif's\\n item_name = str(time.year) + \\\".tif\\\"\\n\\n # convert to dataset\\n dad = da.to_dataset()\\n\\n # add all attributes (again)\\n for attr_name, attr_val in meta_data.items():\\n if attr_name == \\\"PROVIDERS\\\":\\n attr_val = json.dumps(attr_val)\\n if (\\n attr_name == \\\"MEDIA_TYPE\\\"\\n ): # change media type to tiff, leave the rest as is\\n attr_val = \\\"IMAGE/TIFF\\\"\\n if (\\n attr_name == \\\"TEMPORAL_EXTENT\\\"\\n ): # only add the relevant year to the tif\\n attr_val = attr_val[\\n itime\\n ] # NOTE: coded to match timing of the netcdf\\n dad.attrs[attr_name] = attr_val\\n\\n dad.attrs[\\\"Conventions\\\"] = \\\"CF-1.8\\\"\\n\\n # Remove leftover NETCDF attributes\\n attrs_del = (\\n \\\"NETCDF_DIM_EXTRA\\\",\\n \\\"NETCDF_DIM_time_DEF\\\",\\n \\\"NETCDF_DIM_time_VALUES\\\",\\n )\\n for attr_del in attrs_del:\\n del dad[var].attrs[attr_del]\\n\\n # export file\\n outpath = cog_dirs.joinpath(scen, str(var))\\n outpath.mkdir(parents=True, exist_ok=True)\\n outpath = outpath.joinpath(item_name)\\n dad.rio.to_raster(outpath, compress=\\\"DEFLATE\\\", driver=\\\"COG\\\")\";\n var nbb_cells = Jupyter.notebook.get_cells();\n for (var i = 0; i < nbb_cells.length; ++i) {\n if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n nbb_cells[i].set_text(nbb_formatted_code);\n }\n break;\n }\n }\n }, 500);\n ", "text/plain": [ - "\n", - "Dimensions: (time: 4)\n", - "Coordinates:\n", - " ensemble |S6 dask.array\n", - " lat float64 dask.array\n", - " lon float64 dask.array\n", - " scenarios |S6 dask.array\n", - " stations |S12 dask.array\n", - " * time (time) int64 2030 2050 2100 2150\n", - "Data variables:\n", - " slr (time) float64 dask.array\n", - "Attributes: (12/21)\n", - " AUTHOR: to be done later...\n", - " CITATION: to be done later...\n", - " COMMENT: test is in the works\n", - " CRS: EPSG:4326\n", - " Conventions: CF-1.8\n", - " DESCRIPTION: to be done later...\n", - " ... ...\n", - " SPATIAL_EXTENT: [-180, -90, 180, 90]\n", - " TAGS: ['climate change', 'extreme sea level', 'deltas']\n", - " TEMPORAL_EXTENT: ['2150-01-01T00:00:00Z']\n", - " TITLE: Sea level projections\n", - " TITLE_ABBREVIATION: slp\n", - " UNITS: m" + "" ] }, - "execution_count": 24, "metadata": {}, - "output_type": "execute_result" + "output_type": "display_data" } ], "source": [ - "tester = check.isel(nstations=0, nscenarios=1, nensemble=0)\n", - "print(tester.stations.values)\n", - "print(tester.scenarios.values)\n", - "print(tester.ensemble.values)\n", - "print(tester.slr.values)\n", - "tester" + "# Hard code the various ssp scenarios considered\n", + "scens = 'high_end', 'ssp126', 'ssp245', 'ssp585'\n", + "\n", + "# List all nc-files from data folder\n", + "file_list = glob.glob(str(ds_dir.joinpath(\"*.nc\")))\n", + "\n", + "for scen, file in zip(scens, file_list):\n", + " if not scen in file:\n", + " raise ValueError('The some or more of the strings defined in scens are not found in your file_list')\n", + " \n", + "for scen, file in zip(scens, file_list):\n", + "\n", + " slp = xr.open_dataset(file, engine=\"rasterio\", mask_and_scale=False) \n", + "\n", + " for var in slp:\n", + " for itime, time in enumerate(slp['time'].values): \n", + " \n", + " # Select the variable and timestep from dataset\n", + " da = slp[var].isel(time = itime)\n", + " da.drop('time')\n", + "\n", + " # Set no data values\n", + " da = (\n", + " da.where(da != -2147483648, -9999)\n", + " .astype(\"float64\")\n", + " .rio.write_nodata(-9999)\n", + " .rio.set_spatial_dims(x_dim=\"x\", y_dim=\"y\")\n", + " )\n", + "\n", + " # Set final output file name, nc-file is broken down into tif's \n", + " item_name = str(time.year) + '.tif'\n", + " \n", + " # convert to dataset\n", + " dad = da.to_dataset()\n", + "\n", + " # add all attributes (again)\n", + " for attr_name, attr_val in meta_data.items():\n", + " if attr_name == 'PROVIDERS':\n", + " attr_val = json.dumps(attr_val)\n", + " if attr_name == \"MEDIA_TYPE\": # change media type to tiff, leave the rest as is\n", + " attr_val = \"IMAGE/TIFF\"\n", + " if attr_name == 'TEMPORAL_EXTENT': # only add the relevant year to the tif\n", + " attr_val = attr_val[itime] \t# NOTE: coded to match timing of the netcdf\n", + " dad.attrs[attr_name] = attr_val\n", + "\n", + "\n", + " dad.attrs['Conventions'] = \"CF-1.8\"\n", + "\n", + " # Remove leftover NETCDF attributes\n", + " attrs_del = 'NETCDF_DIM_EXTRA','NETCDF_DIM_time_DEF','NETCDF_DIM_time_VALUES'\n", + " for attr_del in attrs_del:\n", + " del dad[var].attrs[attr_del]\n", + "\n", + " # export file\n", + " outpath = cog_dirs.joinpath(scen, str(var))\n", + " outpath.mkdir(parents=True, exist_ok=True)\n", + " outpath = outpath.joinpath(item_name)\n", + " dad.rio.to_raster(outpath, compress = 'DEFLATE', driver= 'COG')" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { @@ -4492,8 +1368,7 @@ "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.4" - }, - "orig_nbformat": 4 + } }, "nbformat": 4, "nbformat_minor": 2 diff --git a/notebooks/FASTTRACK/13_slp.ipynb b/notebooks/FASTTRACK/13_slp.ipynb new file mode 100644 index 0000000000..81dad17280 --- /dev/null +++ b/notebooks/FASTTRACK/13_slp.ipynb @@ -0,0 +1,4500 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Sea level projection\n", + "### San Sebastian | Genova | La Rochelle | Valencia\n", + "Written by Math van Soest - Deltares \n", + "17-08-'23" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\kras\\AppData\\Local\\Temp\\ipykernel_12280\\3012141979.py:7: DeprecationWarning: Shapely 2.0 is installed, but because PyGEOS is also installed, GeoPandas still uses PyGEOS by default. However, starting with version 0.14, the default will switch to Shapely. To force to use Shapely 2.0 now, you can either uninstall PyGEOS or set the environment variable USE_PYGEOS=0. You can do this before starting the Python process, or in your code before importing geopandas:\n", + "\n", + "import os\n", + "os.environ['USE_PYGEOS'] = '0'\n", + "import geopandas\n", + "\n", + "In the next release, GeoPandas will switch to using Shapely by default, even if PyGEOS is installed. If you only have PyGEOS installed to get speed-ups, this switch should be smooth. However, if you are using PyGEOS directly (calling PyGEOS functions on geometries from GeoPandas), this will then stop working and you are encouraged to migrate from PyGEOS to Shapely 2.0 (https://shapely.readthedocs.io/en/latest/migration_pygeos.html).\n", + " import geopandas as gpd\n" + ] + } + ], + "source": [ + "# Import standard packages\n", + "import os\n", + "import pathlib\n", + "\n", + "import sys\n", + "import numpy as np\n", + "import geopandas as gpd\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import xarray as xr\n", + "import math\n", + "import itertools\n", + "import glob\n", + "\n", + "# Import custom functionality\n", + "from coclicodata.drive_config import p_drive\n", + "from coclicodata.etl.cf_compliancy_checker import check_compliancy, save_compliancy\n", + "\n", + "# Define (local and) remote drives\n", + "gca_data_dir = p_drive.joinpath(\"11205479-coclico\",\"FULLTRACK_DATA\",\"WP3\")\n", + "\n", + "# Workaround to the Windows OS (10) udunits error after installation of cfchecker: https://github.com/SciTools/iris/issues/404\n", + "os.environ[\"UDUNITS2_XML_PATH\"] = str(\n", + " pathlib.Path().home().joinpath( # change to the udunits2.xml file dir in your Python installation\n", + " r\"Anaconda3\\pkgs\\udunits2-2.2.28-h892ecd3_0\\Library\\share\\udunits\\udunits2.xml\"\n", + " )\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# Project paths & files (manual input)\n", + "dataset_dir = gca_data_dir.joinpath(\"pilot\")\n", + "dataset_dir_path = dataset_dir.joinpath(\"SLP_MvS.nc\")\n", + "ds_out_file = \"SLP_MvS\"\n", + "CF_dir = gca_data_dir.joinpath(r\"CF\") # directory to save output CF check files" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# write csv to netcdf\n", + "\n", + "# open all csv files in different dirs\n", + "all_files = []\n", + "for dir in os.listdir(dataset_dir):\n", + " #if '.' not in dir: # arbitrary, no file extension to determine whether it is dir\n", + " #all_files.append(glob.glob(os.path.join(dataset_dir, \"*.CSV\")))\n", + " #all_files.append(os.path.join(dataset_dir, \"*.csv\"))\n", + " if \"csv\" in dir:\n", + " all_files.append(os.path.join(dataset_dir, dir))\n", + "\n", + "# read csv and convert to nc files\n", + "li = []\n", + "for filename in all_files: #list(itertools.chain(*all_files)):\n", + " \n", + " df = pd.read_csv(filename, index_col=None, header=0)\n", + " li.append(df)\n", + "\n", + " ds = xr.Dataset.from_dataframe(df)\n", + " ds.to_netcdf(filename.replace('.csv', '.nc'))\n", + "\n", + "# make one dataframe\n", + "df = pd.concat(li, axis=0, ignore_index=True)\n", + "\n", + "# Convert the pandas dataframe to an xarray dataset\n", + "ds = xr.Dataset.from_dataframe(df)\n", + "\n", + "# Write the xarray dataset to a netCDF file\n", + "ds.to_netcdf(dataset_dir.joinpath(\"SLP_MvS.nc\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset>\n",
+       "Dimensions:  (index: 4)\n",
+       "Coordinates:\n",
+       "  * index    (index) int64 0 1 2 3\n",
+       "Data variables:\n",
+       "    years    (index) int64 ...\n",
+       "    low      (index) float64 ...\n",
+       "    median   (index) float64 ...\n",
+       "    high     (index) float64 ...
" + ], + "text/plain": [ + "\n", + "Dimensions: (index: 4)\n", + "Coordinates:\n", + " * index (index) int64 0 1 2 3\n", + "Data variables:\n", + " years (index) int64 ...\n", + " low (index) float64 ...\n", + " median (index) float64 ...\n", + " high (index) float64 ..." + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# open datasets (only first file, rest is the same)\n", + "ds = xr.open_dataset(all_files[0].replace('.csv', '.nc'))\n", + "\n", + "# check original dataset\n", + "ds" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "%%capture cap --no-stderr\n", + "# check original CF compliancy (for first file)\n", + "\n", + "check_compliancy(testfile=all_files[0].replace('.csv', '.nc'), \n", + " working_dir=CF_dir\n", + " ) " + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'P:\\\\11205479-coclico\\\\FULLTRACK_DATA\\\\WP3\\\\pilot\\\\MSL_Genova_high_end.nc': {'warnings': '7', 'errors': '0'}}\n" + ] + } + ], + "source": [ + "# save original CF compliancy (for first file)\n", + "save_compliancy(cap, testfile=all_files[0].replace('.csv', '.nc'), working_dir=CF_dir) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Make CF compliant alterations to the NetCDF files (dataset dependent)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "# open datasets\n", + "ds_list = []\n", + "for i in all_files:\n", + " ds_list.append(xr.open_dataset(i.replace('.csv', '.nc')))" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "import json\n", + "\n", + "# NetCDF attribute alterations by means of metadata template\n", + "f_global = open(gca_data_dir.joinpath(\"metadata\", \"metadata_SLP.json\"))\n", + "meta_global = json.load(f_global)\n", + "\n", + "for i in ds_list:\n", + " for attr_name, attr_val in meta_global.items():\n", + " if attr_name == 'PROVIDERS':\n", + " attr_val = json.dumps(attr_val)\n", + " i.attrs[attr_name] = attr_val\n", + "\n", + " i.attrs['Conventions'] = \"CF-1.8\"" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "# NetCDF variable and dimension alterations (per dataset)\n", + "ds_list_CF = []\n", + "ensemble_vars = [\"low\",\"median\",\"high\"]\n", + "\n", + "for i, j in zip(ds_list, all_files):\n", + "\n", + " # extract values from xarray dataset and concatenate using numpy, then reshape to match dataset dimensions\n", + " data_array = np.concatenate([i[var].values for var in ensemble_vars])\n", + " data_array_r = data_array.reshape((len(ensemble_vars), len(i['low'].values)))\n", + " \n", + " # transform year data from integer to pd.time\n", + " i = i.rename_vars({\"years\":\"time\"})\n", + " i = i.set_coords(['time'])\n", + " i = i.assign(time=('time', i['time'].values))\n", + " \n", + " # remove unconcatenated variables, to be filled in later using data_array_r\n", + " i = i.drop(['index']+ensemble_vars)\n", + "\n", + " # expand dimension with data variables\n", + " i = i.assign(ensemble=(\"nensemble\", np.array(ensemble_vars, dtype=\"S\")))\n", + " i = i.set_coords(\"ensemble\")\n", + " \n", + " # # add reshaped data array to the xarray dataset\n", + " i = i.assign(slr=([\"nensemble\", \"time\"], data_array_r))\n", + "\n", + " # add or change certain variable / coordinate attributes\n", + " dataset_attributes = {\n", + " \"slr\": {\"long_name\": \"sea level projections\", \"units\": \"m\"},\n", + " \"time\": {\"long_name\": \"time projections\", \"units\": \"yr\"},\n", + " \"ensemble\": {\"long_name\": \"ensemble\", \"units\": \"1\"}, # set to 1 if no unit\n", + " } # specify custom (CF convention) attributes\n", + "\n", + " # add / overwrite attributes\n", + " for k, v in dataset_attributes.items():\n", + " try:\n", + " i[k].attrs = dataset_attributes[k]\n", + " except:\n", + " continue\n", + "\n", + " i.to_netcdf(path=str(j).replace(\".csv\", \"_CF.nc\")) # save single CF compliant files\n", + "\n", + " ds_list_CF.append(i)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset>\n",
+       "Dimensions:  (index: 4)\n",
+       "Coordinates:\n",
+       "  * index    (index) int64 0 1 2 3\n",
+       "Data variables:\n",
+       "    years    (index) int64 ...\n",
+       "    low      (index) float64 0.07438 0.1807 0.5954 0.8804\n",
+       "    median   (index) float64 0.1196 0.2641 0.9028 2.012\n",
+       "    high     (index) float64 0.1777 0.4003 1.41 5.242\n",
+       "Attributes: (12/21)\n",
+       "    TITLE:               Sea level projections\n",
+       "    TITLE_ABBREVIATION:  slp\n",
+       "    DESCRIPTION:         to be done later...\n",
+       "    SHORT_DESCRIPTION:   to be done later...\n",
+       "    INSTITUTION:         to be done later...\n",
+       "    PROVIDERS:           {"name": "Deltares Test", "url": "https://www.deltar...\n",
+       "    ...                  ...\n",
+       "    DOI:                 to be done later...\n",
+       "    LONG_NAME:           SLP\n",
+       "    UNITS:               m\n",
+       "    COMMENT:             test is in the works\n",
+       "    CRS:                 EPSG:4326\n",
+       "    Conventions:         CF-1.8
" + ], + "text/plain": [ + "\n", + "Dimensions: (index: 4)\n", + "Coordinates:\n", + " * index (index) int64 0 1 2 3\n", + "Data variables:\n", + " years (index) int64 ...\n", + " low (index) float64 0.07438 0.1807 0.5954 0.8804\n", + " median (index) float64 0.1196 0.2641 0.9028 2.012\n", + " high (index) float64 0.1777 0.4003 1.41 5.242\n", + "Attributes: (12/21)\n", + " TITLE: Sea level projections\n", + " TITLE_ABBREVIATION: slp\n", + " DESCRIPTION: to be done later...\n", + " SHORT_DESCRIPTION: to be done later...\n", + " INSTITUTION: to be done later...\n", + " PROVIDERS: {\"name\": \"Deltares Test\", \"url\": \"https://www.deltar...\n", + " ... ...\n", + " DOI: to be done later...\n", + " LONG_NAME: SLP\n", + " UNITS: m\n", + " COMMENT: test is in the works\n", + " CRS: EPSG:4326\n", + " Conventions: CF-1.8" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ds_list[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset>\n",
+       "Dimensions:   (time: 4, nensemble: 3)\n",
+       "Coordinates:\n",
+       "  * time      (time) int64 2030 2050 2100 2150\n",
+       "    ensemble  (nensemble) |S6 b'low' b'median' b'high'\n",
+       "Dimensions without coordinates: nensemble\n",
+       "Data variables:\n",
+       "    slr       (nensemble, time) float64 0.07438 0.1807 0.5954 ... 1.41 5.242\n",
+       "Attributes: (12/21)\n",
+       "    TITLE:               Sea level projections\n",
+       "    TITLE_ABBREVIATION:  slp\n",
+       "    DESCRIPTION:         to be done later...\n",
+       "    SHORT_DESCRIPTION:   to be done later...\n",
+       "    INSTITUTION:         to be done later...\n",
+       "    PROVIDERS:           {"name": "Deltares Test", "url": "https://www.deltar...\n",
+       "    ...                  ...\n",
+       "    DOI:                 to be done later...\n",
+       "    LONG_NAME:           SLP\n",
+       "    UNITS:               m\n",
+       "    COMMENT:             test is in the works\n",
+       "    CRS:                 EPSG:4326\n",
+       "    Conventions:         CF-1.8
" + ], + "text/plain": [ + "\n", + "Dimensions: (time: 4, nensemble: 3)\n", + "Coordinates:\n", + " * time (time) int64 2030 2050 2100 2150\n", + " ensemble (nensemble) |S6 b'low' b'median' b'high'\n", + "Dimensions without coordinates: nensemble\n", + "Data variables:\n", + " slr (nensemble, time) float64 0.07438 0.1807 0.5954 ... 1.41 5.242\n", + "Attributes: (12/21)\n", + " TITLE: Sea level projections\n", + " TITLE_ABBREVIATION: slp\n", + " DESCRIPTION: to be done later...\n", + " SHORT_DESCRIPTION: to be done later...\n", + " INSTITUTION: to be done later...\n", + " PROVIDERS: {\"name\": \"Deltares Test\", \"url\": \"https://www.deltar...\n", + " ... ...\n", + " DOI: to be done later...\n", + " LONG_NAME: SLP\n", + " UNITS: m\n", + " COMMENT: test is in the works\n", + " CRS: EPSG:4326\n", + " Conventions: CF-1.8" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ds_list_CF[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray 'slr' (nensemble: 3, time: 4)>\n",
+       "array([[0.07437646, 0.18074177, 0.5954425 , 0.88035513],\n",
+       "       [0.11957024, 0.26407631, 0.90284148, 2.01160665],\n",
+       "       [0.17772071, 0.40028073, 1.41008318, 5.24169474]])\n",
+       "Coordinates:\n",
+       "  * time      (time) int64 2030 2050 2100 2150\n",
+       "    ensemble  (nensemble) |S6 b'low' b'median' b'high'\n",
+       "Dimensions without coordinates: nensemble\n",
+       "Attributes:\n",
+       "    long_name:  sea level projections\n",
+       "    units:      m
" + ], + "text/plain": [ + "\n", + "array([[0.07437646, 0.18074177, 0.5954425 , 0.88035513],\n", + " [0.11957024, 0.26407631, 0.90284148, 2.01160665],\n", + " [0.17772071, 0.40028073, 1.41008318, 5.24169474]])\n", + "Coordinates:\n", + " * time (time) int64 2030 2050 2100 2150\n", + " ensemble (nensemble) |S6 b'low' b'median' b'high'\n", + "Dimensions without coordinates: nensemble\n", + "Attributes:\n", + " long_name: sea level projections\n", + " units: m" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ds_list_CF[0][\"slr\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray 'slr' (nensemble: 3)>\n",
+       "array([0.18074177, 0.26407631, 0.40028073])\n",
+       "Coordinates:\n",
+       "    time      int64 2050\n",
+       "    ensemble  (nensemble) |S6 b'low' b'median' b'high'\n",
+       "Dimensions without coordinates: nensemble\n",
+       "Attributes:\n",
+       "    long_name:  sea level projections\n",
+       "    units:      m
" + ], + "text/plain": [ + "\n", + "array([0.18074177, 0.26407631, 0.40028073])\n", + "Coordinates:\n", + " time int64 2050\n", + " ensemble (nensemble) |S6 b'low' b'median' b'high'\n", + "Dimensions without coordinates: nensemble\n", + "Attributes:\n", + " long_name: sea level projections\n", + " units: m" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ds_list_CF[0][\"slr\"].sel(time=2050)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "MSL_Genova_high_end_CF.nc\n", + "MSL_Genova_ssp126_CF.nc\n", + "MSL_Genova_ssp245_CF.nc\n", + "MSL_Genova_ssp585_CF.nc\n", + "MSL_LaRochelle_high_end_CF.nc\n", + "MSL_LaRochelle_ssp126_CF.nc\n", + "MSL_LaRochelle_ssp245_CF.nc\n", + "MSL_LaRochelle_ssp585_CF.nc\n", + "MSL_SanSebastian_high_end_CF.nc\n", + "MSL_SanSebastian_ssp126_CF.nc\n", + "MSL_SanSebastian_ssp245_CF.nc\n", + "MSL_SanSebastian_ssp585_CF.nc\n", + "MSL_Valencia_high_end_CF.nc\n", + "MSL_Valencia_ssp126_CF.nc\n", + "MSL_Valencia_ssp245_CF.nc\n", + "MSL_Valencia_ssp585_CF.nc\n" + ] + } + ], + "source": [ + "# List all files that end with '_CF.nc'\n", + "CF_files = [f for f in os.listdir(dataset_dir) if f.endswith('_CF.nc') and f.startswith(\"MSL\")]\n", + "\n", + "# Extract unique locations and climate projection scenario's (ssps)\n", + "locs = list(np.unique([f.split('_')[1] for f in CF_files]))\n", + "ssps = list(np.unique([f.split('_')[2] for f in CF_files]))\n", + "\n", + "ds_list_CF_merge1 = []\n", + "for loc in locs:\n", + " ds_ls = []\n", + " for ds, CF_file in zip(ds_list_CF, CF_files):\n", + " if loc in CF_file:\n", + " print(CF_file)\n", + " ds_ls.append(ds)\n", + " ds_list_CF_merge1.append(ds_ls)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "ds_list_CF_merge2 = []\n", + "for ds_lists, loc in zip(ds_list_CF_merge1, locs):\n", + " ds = xr.concat(ds_lists, dim='nscenarios')\n", + " ds = ds.assign(scenarios=([\"nscenarios\"], np.array(ssps, dtype=\"S\")))\n", + " ds = ds.set_coords(\"scenarios\")\n", + " \n", + " # add or change certain variable / coordinate attributes\n", + " dataset_attributes = {\"scenarios\": {\"long_name\": \"shared socioeconomic pathways\", \"units\": \"1\"} # set to 1 if no unit\n", + " } # specify custom (CF convention) attributes\n", + " \n", + " # add / overwrite attributes\n", + " for k, v in dataset_attributes.items():\n", + " try:\n", + " ds[k].attrs = dataset_attributes[k]\n", + " except:\n", + " continue\n", + " \n", + " ds_list_CF_merge2.append(ds)\n", + "\n", + "# merge areas\n", + "ds_CF_merge = xr.concat(ds_list_CF_merge2, dim=\"nstations\")\n", + "ds_CF_merge = ds_CF_merge.assign(stations=([\"nstations\"], np.array(locs, dtype=\"S\")))\n", + "ds_CF_merge = ds_CF_merge.set_coords(\"stations\")\n", + "\n", + "# Add coordinates of location (lat,lon)\n", + "lat = [44, 46, 43.5, 39.5]\n", + "lon = [9, -1.5, -2, 0]\n", + "\n", + "ds_CF_merge = ds_CF_merge.assign_coords(lat=(\"nstations\",lat))\n", + "ds_CF_merge = ds_CF_merge.assign_coords(lon=(\"nstations\",lon))\n", + "\n", + "dataset_attributes = {\"stations\": {\"long_name\": \"stations\", \"units\": \"1\"},\n", + " \"lat\": {\"standard_name\": \"latitude\", \"units\": \"degrees_north\"},\n", + " \"lon\": {\"standard_name\": \"longitude\", \"units\": \"degrees_east\"} \n", + " } # specify custom (CF convention) attributes\n", + "\n", + "for k, v in dataset_attributes.items():\n", + " try:\n", + " ds_CF_merge[k].attrs = dataset_attributes[k]\n", + " except:\n", + " continue" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset>\n",
+       "Dimensions:    (time: 4, nensemble: 3, nstations: 4, nscenarios: 4)\n",
+       "Coordinates:\n",
+       "  * time       (time) int64 2030 2050 2100 2150\n",
+       "    ensemble   (nensemble) |S6 b'low' b'median' b'high'\n",
+       "    scenarios  (nscenarios) |S6 b'high' b'ssp126' b'ssp245' b'ssp585'\n",
+       "    stations   (nstations) |S12 b'Genova' b'LaRochelle' ... b'Valencia'\n",
+       "    lat        (nstations) float64 44.0 46.0 43.5 39.5\n",
+       "    lon        (nstations) float64 9.0 -1.5 -2.0 0.0\n",
+       "Dimensions without coordinates: nensemble, nstations, nscenarios\n",
+       "Data variables:\n",
+       "    slr        (nstations, nscenarios, nensemble, time) float64 0.07438 ... 1...\n",
+       "Attributes: (12/21)\n",
+       "    TITLE:               Sea level projections\n",
+       "    TITLE_ABBREVIATION:  slp\n",
+       "    DESCRIPTION:         to be done later...\n",
+       "    SHORT_DESCRIPTION:   to be done later...\n",
+       "    INSTITUTION:         to be done later...\n",
+       "    PROVIDERS:           {"name": "Deltares Test", "url": "https://www.deltar...\n",
+       "    ...                  ...\n",
+       "    DOI:                 to be done later...\n",
+       "    LONG_NAME:           SLP\n",
+       "    UNITS:               m\n",
+       "    COMMENT:             test is in the works\n",
+       "    CRS:                 EPSG:4326\n",
+       "    Conventions:         CF-1.8
" + ], + "text/plain": [ + "\n", + "Dimensions: (time: 4, nensemble: 3, nstations: 4, nscenarios: 4)\n", + "Coordinates:\n", + " * time (time) int64 2030 2050 2100 2150\n", + " ensemble (nensemble) |S6 b'low' b'median' b'high'\n", + " scenarios (nscenarios) |S6 b'high' b'ssp126' b'ssp245' b'ssp585'\n", + " stations (nstations) |S12 b'Genova' b'LaRochelle' ... b'Valencia'\n", + " lat (nstations) float64 44.0 46.0 43.5 39.5\n", + " lon (nstations) float64 9.0 -1.5 -2.0 0.0\n", + "Dimensions without coordinates: nensemble, nstations, nscenarios\n", + "Data variables:\n", + " slr (nstations, nscenarios, nensemble, time) float64 0.07438 ... 1...\n", + "Attributes: (12/21)\n", + " TITLE: Sea level projections\n", + " TITLE_ABBREVIATION: slp\n", + " DESCRIPTION: to be done later...\n", + " SHORT_DESCRIPTION: to be done later...\n", + " INSTITUTION: to be done later...\n", + " PROVIDERS: {\"name\": \"Deltares Test\", \"url\": \"https://www.deltar...\n", + " ... ...\n", + " DOI: to be done later...\n", + " LONG_NAME: SLP\n", + " UNITS: m\n", + " COMMENT: test is in the works\n", + " CRS: EPSG:4326\n", + " Conventions: CF-1.8" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ds_CF_merge" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "# write to NetCDF file to check compliancy\n", + "\n", + "# prevent file locking, see: https://github.com/pydata/xarray/issues/2376\n", + "import os\n", + "os.environ['HDF5_USE_FILE_LOCKING'] = 'FALSE'\n", + "\n", + "ds_CF_merge.to_netcdf(path=str(dataset_dir_path).replace(\".nc\", \"_CF.nc\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "%%capture cap --no-stderr\n", + "\n", + "# check altered CF compliancy\n", + "check_compliancy(testfile=str(dataset_dir_path).replace(\".nc\", \"_CF.nc\"), working_dir=CF_dir)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'P:\\\\11205479-coclico\\\\FULLTRACK_DATA\\\\WP3\\\\pilot\\\\SLP_MvS_CF.nc': {'warnings': '0', 'errors': '0'}}\n" + ] + } + ], + "source": [ + "# save original CF compliancy (for first file)\n", + "save_compliancy(cap, testfile=str(dataset_dir_path).replace(\".nc\", \"_CF.nc\"), working_dir=CF_dir) " + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# export to zarr in write mode (to overwrite if exists)\n", + "ds_CF_merge.to_zarr(dataset_dir.joinpath(\"%s.zarr\" % ds_out_file), mode=\"w\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "# check\n", + "check = xr.open_zarr(dataset_dir.joinpath(\"%s.zarr\" % ds_out_file))" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset>\n",
+       "Dimensions:    (nensemble: 3, nstations: 4, nscenarios: 4, time: 4)\n",
+       "Coordinates:\n",
+       "    ensemble   (nensemble) |S6 dask.array<chunksize=(3,), meta=np.ndarray>\n",
+       "    lat        (nstations) float64 dask.array<chunksize=(4,), meta=np.ndarray>\n",
+       "    lon        (nstations) float64 dask.array<chunksize=(4,), meta=np.ndarray>\n",
+       "    scenarios  (nscenarios) |S6 dask.array<chunksize=(4,), meta=np.ndarray>\n",
+       "    stations   (nstations) |S12 dask.array<chunksize=(4,), meta=np.ndarray>\n",
+       "  * time       (time) int64 2030 2050 2100 2150\n",
+       "Dimensions without coordinates: nensemble, nstations, nscenarios\n",
+       "Data variables:\n",
+       "    slr        (nstations, nscenarios, nensemble, time) float64 dask.array<chunksize=(4, 4, 3, 4), meta=np.ndarray>\n",
+       "Attributes: (12/21)\n",
+       "    AUTHOR:              to be done later...\n",
+       "    CITATION:            to be done later...\n",
+       "    COMMENT:             test is in the works\n",
+       "    CRS:                 EPSG:4326\n",
+       "    Conventions:         CF-1.8\n",
+       "    DESCRIPTION:         to be done later...\n",
+       "    ...                  ...\n",
+       "    SPATIAL_EXTENT:      [-180, -90, 180, 90]\n",
+       "    TAGS:                ['climate change', 'extreme sea level', 'deltas']\n",
+       "    TEMPORAL_EXTENT:     ['2150-01-01T00:00:00Z']\n",
+       "    TITLE:               Sea level projections\n",
+       "    TITLE_ABBREVIATION:  slp\n",
+       "    UNITS:               m
" + ], + "text/plain": [ + "\n", + "Dimensions: (nensemble: 3, nstations: 4, nscenarios: 4, time: 4)\n", + "Coordinates:\n", + " ensemble (nensemble) |S6 dask.array\n", + " lat (nstations) float64 dask.array\n", + " lon (nstations) float64 dask.array\n", + " scenarios (nscenarios) |S6 dask.array\n", + " stations (nstations) |S12 dask.array\n", + " * time (time) int64 2030 2050 2100 2150\n", + "Dimensions without coordinates: nensemble, nstations, nscenarios\n", + "Data variables:\n", + " slr (nstations, nscenarios, nensemble, time) float64 dask.array\n", + "Attributes: (12/21)\n", + " AUTHOR: to be done later...\n", + " CITATION: to be done later...\n", + " COMMENT: test is in the works\n", + " CRS: EPSG:4326\n", + " Conventions: CF-1.8\n", + " DESCRIPTION: to be done later...\n", + " ... ...\n", + " SPATIAL_EXTENT: [-180, -90, 180, 90]\n", + " TAGS: ['climate change', 'extreme sea level', 'deltas']\n", + " TEMPORAL_EXTENT: ['2150-01-01T00:00:00Z']\n", + " TITLE: Sea level projections\n", + " TITLE_ABBREVIATION: slp\n", + " UNITS: m" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "check" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "b'Genova'\n", + "b'ssp126'\n", + "b'low'\n", + "[0.06440561 0.14773355 0.32510475 0.41863393]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset>\n",
+       "Dimensions:    (time: 4)\n",
+       "Coordinates:\n",
+       "    ensemble   |S6 dask.array<chunksize=(), meta=np.ndarray>\n",
+       "    lat        float64 dask.array<chunksize=(), meta=np.ndarray>\n",
+       "    lon        float64 dask.array<chunksize=(), meta=np.ndarray>\n",
+       "    scenarios  |S6 dask.array<chunksize=(), meta=np.ndarray>\n",
+       "    stations   |S12 dask.array<chunksize=(), meta=np.ndarray>\n",
+       "  * time       (time) int64 2030 2050 2100 2150\n",
+       "Data variables:\n",
+       "    slr        (time) float64 dask.array<chunksize=(4,), meta=np.ndarray>\n",
+       "Attributes: (12/21)\n",
+       "    AUTHOR:              to be done later...\n",
+       "    CITATION:            to be done later...\n",
+       "    COMMENT:             test is in the works\n",
+       "    CRS:                 EPSG:4326\n",
+       "    Conventions:         CF-1.8\n",
+       "    DESCRIPTION:         to be done later...\n",
+       "    ...                  ...\n",
+       "    SPATIAL_EXTENT:      [-180, -90, 180, 90]\n",
+       "    TAGS:                ['climate change', 'extreme sea level', 'deltas']\n",
+       "    TEMPORAL_EXTENT:     ['2150-01-01T00:00:00Z']\n",
+       "    TITLE:               Sea level projections\n",
+       "    TITLE_ABBREVIATION:  slp\n",
+       "    UNITS:               m
" + ], + "text/plain": [ + "\n", + "Dimensions: (time: 4)\n", + "Coordinates:\n", + " ensemble |S6 dask.array\n", + " lat float64 dask.array\n", + " lon float64 dask.array\n", + " scenarios |S6 dask.array\n", + " stations |S12 dask.array\n", + " * time (time) int64 2030 2050 2100 2150\n", + "Data variables:\n", + " slr (time) float64 dask.array\n", + "Attributes: (12/21)\n", + " AUTHOR: to be done later...\n", + " CITATION: to be done later...\n", + " COMMENT: test is in the works\n", + " CRS: EPSG:4326\n", + " Conventions: CF-1.8\n", + " DESCRIPTION: to be done later...\n", + " ... ...\n", + " SPATIAL_EXTENT: [-180, -90, 180, 90]\n", + " TAGS: ['climate change', 'extreme sea level', 'deltas']\n", + " TEMPORAL_EXTENT: ['2150-01-01T00:00:00Z']\n", + " TITLE: Sea level projections\n", + " TITLE_ABBREVIATION: slp\n", + " UNITS: m" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "tester = check.isel(nstations=0, nscenarios=1, nensemble=0)\n", + "print(tester.stations.values)\n", + "print(tester.scenarios.values)\n", + "print(tester.ensemble.values)\n", + "print(tester.slr.values)\n", + "tester" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.4" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/scripts/create_stacs/13_slp_stacs.py b/scripts/create_stacs/13_slp_stacs.py index 97f31cc864..c208d81ba0 100644 --- a/scripts/create_stacs/13_slp_stacs.py +++ b/scripts/create_stacs/13_slp_stacs.py @@ -3,15 +3,23 @@ import pathlib import sys import json +import glob +import xarray as xr +import numpy as np +import datetime +import rasterio +import shapely +import pandas as pd from posixpath import join as urljoin import pystac +from pystac.stac_io import DefaultStacIO from coclicodata.drive_config import p_drive -from coclicodata.etl.cloud_utils import dataset_from_google_cloud +from coclicodata.etl.cloud_utils import dataset_from_google_cloud,load_google_credentials, dir_to_google_cloud from coclicodata.etl.extract import get_mapbox_url, zero_terminated_bytes_as_str from pystac import Catalog, CatalogType, Collection, Summaries from coclicodata.coclico_stac.io import CoCliCoStacIO -from coclicodata.coclico_stac.layouts import CoCliCoZarrLayout +from coclicodata.coclico_stac.layouts import CoCliCoCOGLayout from coclicodata.coclico_stac.templates import ( extend_links, gen_default_collection_props, @@ -31,66 +39,74 @@ rm_special_characters, ) -if __name__ == "__main__": - # hard-coded input params at project level - BUCKET_NAME = "dgds-data-public" - BUCKET_PROJ = "coclico" - MAPBOX_PROJ = "global-data-viewer" +# TODO: move itemize to ETL or stac.blueprint when generalized +def itemize( + da, + item: pystac.Item, + blob_name: str, + asset_roles: "List[str] | None" = None, # "" enables Python 3.8 development not to crash: https://github.com/tiangolo/typer/issues/371 + asset_media_type=pystac.MediaType.COG, +) -> pystac.Item: + """ """ + import rioxarray # noqa + + item = item.clone() + dst_crs = rasterio.crs.CRS.from_epsg(4326) + + bbox = rasterio.warp.transform_bounds(da.rio.crs, dst_crs, *da.rio.bounds()) + geometry = shapely.geometry.mapping(shapely.geometry.box(*bbox)) + + item.id = blob_name + item.geometry = geometry + item.bbox = bbox + item.datetime = pd.Timestamp(da["time"].item()).to_pydatetime() # dataset specific + # item.datetime = cftime_to_pdts(da["time"].item()).to_pydatetime() # dataset specific + + ext = pystac.extensions.projection.ProjectionExtension.ext( + item, add_if_missing=True + ) + ext.bbox = da.rio.bounds() + ext.shape = da.shape[-2:] + ext.epsg = da.rio.crs.to_epsg() + ext.geometry = shapely.geometry.mapping(shapely.geometry.box(*ext.bbox)) + ext.transform = list(da.rio.transform())[:6] + ext.add_to(item) + + roles = asset_roles or ["data"] + + href = os.path.join( + GCS_PROTOCOL, + BUCKET_NAME, + BUCKET_PROJ, + COLLECTION_ID, + blob_name, + ) - # hard-coded input params at project level - coclico_data_dir = pathlib.Path( - p_drive, - "11205479-coclico", - "FULLTRACK_DATA", - "WP3", + # TODO: We need to generalize this `href` somewhat. + asset = pystac.Asset( + href=href, + media_type=asset_media_type, + roles=roles, ) - dataset_dir = coclico_data_dir.joinpath("pilot") - # opening metadata - metadata_fp = coclico_data_dir.joinpath("metadata", "metadata_SLP.json") - with open(metadata_fp, "r") as f: - metadata = json.load(f) + item.add_asset("data", asset) + + return item + + +if __name__ == "__main__": + # hard-coded input params at project level + GCS_PROTOCOL = "https://storage.googleapis.com" + GCS_PROJECT = "coclico-11207608-002" + BUCKET_NAME = "coclico-data-public" + BUCKET_PROJ = "coclico" - # STAC configs STAC_DIR = "current" TEMPLATE_COLLECTION = "template" # stac template for dataset collection - COLLECTION_TITLE = metadata["TITLE"] - COLLECTION_ID = metadata["TITLE_ABBREVIATION"] # name of stac collection - DATASET_DESCRIPTION = metadata["DESCRIPTION"] + COLLECTION_ID = "slp" # name of stac collection - # hard-coded input params which differ per dataset - DATASET_FILENAME = "ar6_slr_pilots.zarr" - VARIABLES = ["slr"] # xarray variables in dataset - X_DIMENSION = "lon" # False, None or str; spatial lon dim used by datacube - Y_DIMENSION = "lat" # False, None or str; spatial lat dim "" - TEMPORAL_DIMENSION = "time" # False, None or str; temporal "" - ADDITIONAL_DIMENSIONS = [ - "scenarios", - "time", - ] # Empty list or list of str; additional dims "" - DIMENSIONS_TO_IGNORE = [ - "stations", - "nensemble", - "nscenarios", - ] # List of str; dims ignored by datacube - MAP_SELECTION_DIMS = { - "scenarios": [ - "high", - "ssp126", - "ssp245", - "ssp585", - ], - "time": [2030, 2050, 2100, 2150], - "nensemble": 1, - } - # hard-coded frontend properties - STATIONS = "locationId" - TYPE = "circle" - ON_CLICK = {} - - # these are added at collection level (for graph plot in the dashboard) - UNITS = "m" - PLOT_SERIES = "slr" + # these are added at collection level, determine dashboard graph layout using all items + PLOT_SERIES = "scenarios" PLOT_X_AXIS = "time" PLOT_TYPE = "line" MIN = 0 @@ -101,186 +117,135 @@ {"color": "hsl(0,90%,70%)", "offset": "100.000%", "opacity": 100}, ] - # functions to generate properties that vary per dataset but cannot be hard-coded because - # they also require input arguments - def get_paint_props(item_key: str): - return { - "circle-color": [ - "interpolate", - ["linear"], - ["get", item_key], - 0, - "hsl(110,90%,80%)", - 1.5, - "hsla(55, 88%, 53%, 0.5)", - 3.0, - "hsl(0, 90%, 70%)", - ], - "circle-radius": [ - "interpolate", - ["linear"], - ["zoom"], - 0, - 0.5, - 1, - 1, - 5, - 5, - ], - } - - # semi hard-coded input params - gcs_zarr_store = os.path.join("gcs://", BUCKET_NAME, BUCKET_PROJ, DATASET_FILENAME) - gcs_api_zarr_store = os.path.join( - "https://storage.googleapis.com", BUCKET_NAME, BUCKET_PROJ, DATASET_FILENAME - ) - - # read data from gcs zarr store - ds = dataset_from_google_cloud( - bucket_name=BUCKET_NAME, bucket_proj=BUCKET_PROJ, zarr_filename=DATASET_FILENAME + # define local directories + home = pathlib.Path().home() + tmp_dir = home.joinpath("data", "tmp") + coclico_data_dir = p_drive.joinpath( + "11207608-coclico", "FULLTRACK_DATA", "WP3" + ) # remote p drive + google_cred_dir = p_drive.joinpath( + "11207608-coclico", "FASTTRACK_DATA", "google_credentials_new.json" ) - # import xarray as xr + # hard-coded input params which differ per dataset + METADATA_LIST = glob.glob(str(coclico_data_dir.joinpath('data','*.json'))) + DATASET_DIR = "data" + CF_FILE = "slr_medium_confidence_values_CF.nc" - # fpath = pathlib.Path.home().joinpath("data", "tmp", "europe_storm_surge_level.zarr") - # ds = xr.open_zarr(fpath) + # use local or remote data dir + use_local_data = False - # cast zero terminated bytes to str because json library cannot write handle bytes - ds = zero_terminated_bytes_as_str(ds) + if use_local_data: + ds_dir = tmp_dir.joinpath(DATASET_DIR) + else: + ds_dir = coclico_data_dir.joinpath(DATASET_DIR) - # remove characters that cause problems in the frontend. - ds = rm_special_characters( - ds, dimensions_to_check=ADDITIONAL_DIMENSIONS, characters=["%"] - ) + if not ds_dir.exists(): + raise FileNotFoundError(f"Data dir does not exist, {str(ds_dir)}") - title = ds.attrs.get("title", COLLECTION_ID) + # directory to export result + cog_dirs = coclico_data_dir.joinpath("cogs") - # load coclico data catalog - catalog = Catalog.from_file( - os.path.join( - pathlib.Path(__file__).parent.parent.parent, STAC_DIR, "catalog.json" - ) - ) + catalog = Catalog.from_file(os.path.join(pathlib.Path(__file__).parent.parent.parent, STAC_DIR, "catalog.json")) template_fp = os.path.join( - pathlib.Path(__file__).parent.parent.parent, - STAC_DIR, - TEMPLATE_COLLECTION, - "collection.json", + pathlib.Path(__file__).parent.parent.parent, STAC_DIR, TEMPLATE_COLLECTION, "collection.json" ) - # generate collection for dataset - collection = get_template_collection( - template_fp=template_fp, - collection_id=COLLECTION_ID, - title=COLLECTION_TITLE, - description=DATASET_DESCRIPTION, - keywords=[], - ) + layout = CoCliCoCOGLayout() + + #%% DO THE WORK + # Hard code the various ssp scenarios considered + scens = 'high_end', 'ssp126', 'ssp245', 'ssp585' - # add datacube dimensions derived from xarray dataset to dataset stac_obj - collection = add_datacube( - stac_obj=collection, - ds=ds, - x_dimension=X_DIMENSION, - y_dimension=Y_DIMENSION, - temporal_dimension=TEMPORAL_DIMENSION, - additional_dimensions=ADDITIONAL_DIMENSIONS, - reference_system=ds.CRS, - ) + # List all nc-files from data folder + ncfile_list = glob.glob(str(ds_dir.joinpath("*.nc"))) - # This dataset has quite some dimensions, so if we would parse all information the end-user - # would be overwhelmed by all options. So for the stac items that we generate for the frontend - # visualizations a subset of the data is selected. Of course, this operation is dataset specific. - for k, v in MAP_SELECTION_DIMS.items(): - if k in ds.dims and ds.coords: - ds = ds.sel({k: v}) - else: - try: - # assume that coordinates with strings always have same dim name but with n - ds = ds.sel({"n" + k: k == v}) - except: - raise ValueError(f"Cannot find {k}") - - # generate stac feature keys (strings which will be stac item ids) for mapbox layers - if len(ADDITIONAL_DIMENSIONS) > 0: - dimvals = get_dimension_values(ds, dimensions_to_ignore=DIMENSIONS_TO_IGNORE) - dimcombs = get_dimension_dot_product(dimvals) - else: - dimvals = {} - dimcombs = [] + for scen, file in zip(scens, ncfile_list): + if not scen in file: + raise ValueError('The some or more of the strings defined in scens are not found in your file_list') + + # load metadata + with open(r'p:\11207608-coclico\FULLTRACK_DATA\WP3\data\full_dataset_metadata\SLP_CoCliCo_metadata.json', "r") as f: + ds_metadata = json.load(f) + + if "Creative Commons" in ds_metadata["LICENSE"] and "4.0" in ds_metadata["LICENSE"]: + ds_metadata["LICENSE"] = "CC-BY-4.0" - # TODO: check what can be customized in the layout - layout = CoCliCoZarrLayout() + # Add extra keywords + ds_metadata['KEYWORDS'].extend(["Sea Levels", "Full-Track"]) - # create stac collection per variable and add to dataset collection - for var in VARIABLES: - # add zarr store as asset to stac_obj - collection.add_asset("data", gen_zarr_asset(title, gcs_api_zarr_store)) + # generate collection for dataset + collection = get_template_collection( + template_fp= template_fp, + collection_id= COLLECTION_ID, + title= ds_metadata["TITLE"], + description= ds_metadata["SHORT_DESCRIPTION"], + keywords= ds_metadata['KEYWORDS'], + license= ds_metadata["LICENSE"], + spatial_extent= ds_metadata["SPATIAL_EXTENT"], + temporal_extent=ds_metadata["TEMPORAL_EXTENT"], + providers= [ + pystac.Provider( + name="Deltares", + roles=[ + pystac.provider.ProviderRole.PROCESSOR, + pystac.provider.ProviderRole.HOST, + ], + url="https://deltares.nl", + ), + pystac.Provider( + ds_metadata["PROVIDERS"]["name"], + roles=[ + pystac.provider.ProviderRole.PRODUCER, + ], + url=ds_metadata["PROVIDERS"]["url"], + description=ds_metadata["PROVIDERS"]["description"], + ), + ] + ) + #%% + for scen, ncfile, metadata_fp in zip(scens, ncfile_list, METADATA_LIST): - # stac items are generated per AdditionalDimension (non spatial) - for dimcomb in dimcombs: - mapbox_url = get_mapbox_url(MAPBOX_PROJ, DATASET_FILENAME, var) + slp = xr.open_dataset(ncfile, engine="rasterio", mask_and_scale=False) - # generate stac item key and add link to asset to the stac item - item_id = get_mapbox_item_id(dimcomb) - feature = gen_default_item(f"{var}-mapbox-{item_id}") - feature.add_asset("mapbox", gen_mapbox_asset(mapbox_url)) + slp['time'] = slp.indexes['time'].to_datetimeindex() + + # load metadata template + with open(metadata_fp, "r") as f: + metadata = json.load(f) - # This calls ItemCoclicoExtension and links CoclicoExtension to the stac item - coclico_ext = CoclicoExtension.ext(feature, add_if_missing=True) + for var in slp: + for itime, time in enumerate(slp['time'].values): + + # Select the variable and timestep from dataset + da = slp[var].isel(time = itime) - coclico_ext.item_key = item_id - coclico_ext.paint = get_paint_props(item_id) - coclico_ext.type_ = TYPE - coclico_ext.stations = STATIONS - coclico_ext.on_click = ON_CLICK + # Set final output file name, nc-file is broken down into tif's + item_name = np.datetime_as_string(time, unit='Y') + '.tif' - # TODO: include this in our datacube? - # add dimension key-value pairs to stac item properties dict - for k, v in dimcomb.items(): - feature.properties[k] = v + blob_name = pathlib.Path( + scen, + var, + item_name, + ) - # add stac item to collection - collection.add_item(feature, strategy=layout) + outpath = cog_dirs.joinpath(blob_name) + template_item = pystac.Item( + "id", None, None, datetime.datetime(2000, 1, 1), {} + ) - # if no variables present we still need to add zarr reference at collection level - if not VARIABLES: - collection.add_asset("data", gen_zarr_asset(title, gcs_api_zarr_store)) + item = itemize(da, template_item, blob_name=str(blob_name)) + collection.add_item(item, strategy=layout) - # TODO: use gen_default_summaries() from blueprint.py after making it frontend compliant. + #%% TODO: use gen_default_summaries() from blueprint.py after making it frontend compliant. collection.summaries = Summaries({}) - # TODO: check if maxcount is required (inpsired on xstac library) - # stac_obj.summaries.maxcount = 50 - for k, v in dimvals.items(): - collection.summaries.add(k, v) - - # this calls CollectionCoclicoExtension since stac_obj==pystac.Collection - coclico_ext = CoclicoExtension.ext(collection, add_if_missing=True) - - # Add frontend properties defined above to collection extension properties. The - # properties attribute of this extension is linked to the extra_fields attribute of - # the stac collection. - coclico_ext.units = UNITS - coclico_ext.plot_series = PLOT_SERIES - coclico_ext.plot_x_axis = PLOT_X_AXIS - coclico_ext.plot_type = PLOT_TYPE - coclico_ext.min_ = MIN - coclico_ext.max_ = MAX - coclico_ext.linear_gradient = LINEAR_GRADIENT - - # set extra link properties - extend_links(collection, dimvals.keys()) - - # save and limit number of folders - catalog.add_child(collection) - collection.normalize_hrefs( - os.path.join( - pathlib.Path(__file__).parent.parent.parent, STAC_DIR, COLLECTION_ID - ), - strategy=layout, - ) + collection.extra_fields["item_assets"] = {"data": {"type": pystac.MediaType.COG}} + collection.extra_fields["deltares:units"] = ds_metadata["UNITS"] + collection.extra_fields["deltares:plotType"] = PLOT_TYPE # NOTE:this causes validation to break + collection.extra_fields["deltares:min"] = MIN + collection.extra_fields["deltares:max"] = MAX # Add thumbnail collection.add_asset( @@ -292,10 +257,47 @@ def get_paint_props(item_key: str): ), ) + # Check if collection already exists within catalog + if catalog.get_child(collection.id): + # If so, delete child + catalog.remove_child(collection.id) + print(f"Removed child: {collection.id}.") + + # add collection to catalog + catalog.add_child(collection) + + # normalize the paths + collection.normalize_hrefs( + os.path.join(pathlib.Path(__file__).parent.parent.parent, STAC_DIR, COLLECTION_ID), strategy=layout + ) + + # Validate collection instead of full catalog in stac_to_cloud.py + collection.validate_all() + + # Initialize stac_io + stac_io = DefaultStacIO() + + # save updated catalog to local drive catalog.save( catalog_type=CatalogType.SELF_CONTAINED, dest_href=os.path.join(pathlib.Path(__file__).parent.parent.parent, STAC_DIR), - stac_io=CoCliCoStacIO(), + # dest_href=str(tmp_dir), + stac_io=stac_io, # TODO: Adjust to STAC IO ) + print("Done!") + + # upload directory with cogs to google cloud + load_google_credentials( + google_token_fp=google_cred_dir + ) + + dir_to_google_cloud( + dir_path=str(cog_dirs), + gcs_project=GCS_PROJECT, + bucket_name=BUCKET_NAME, + bucket_proj=BUCKET_PROJ, + dir_name='slp', + ) + # %% diff --git a/scripts/utils/stac_to_cloud.py b/scripts/utils/stac_to_cloud.py index 2f0b4c414d..b22b07a312 100644 --- a/scripts/utils/stac_to_cloud.py +++ b/scripts/utils/stac_to_cloud.py @@ -16,7 +16,7 @@ GCS_PROJECT = "coclico-11207608-002" BUCKET_NAME = "coclico-data-public" BUCKET_PROJ = "coclico" - STAC_NAME = "coclico-stac-ceed" + STAC_NAME = "coclico-stac-slp" IN_DIRNAME = "current" # hard-coded input params at project level @@ -37,18 +37,21 @@ os.path.join(source_dir_fp, "catalog.json") # local cloned STAC ) - if ( - catalog.validate_all() == None - ): # no valid STAC (note, pystac >1.10 and jsonschema >4.20) - print( - "STAC is not valid and hence not uploaded to cloud, please adjust" - " accordingly by debugging the STAC catalog." - ) - else: - dir_to_google_cloud( - dir_path=source_dir_fp, - gcs_project=GCS_PROJECT, - bucket_name=BUCKET_NAME, - bucket_proj=BUCKET_PROJ, - dir_name=STAC_NAME, - ) + ## NOTE: no need to validate whole catalog, + # if ( + # catalog.validate_all() == None + # ): # no valid STAC (note, pystac >1.10 and jsonschema >4.20) + # print( + # "STAC is not valid and hence not uploaded to cloud, please adjust" + # " accordingly by debugging the STAC catalog." + # ) + # else: + dir_to_google_cloud( + dir_path=source_dir_fp, + gcs_project=GCS_PROJECT, + bucket_name=BUCKET_NAME, + bucket_proj=BUCKET_PROJ, + dir_name=STAC_NAME, + ) + +# %% diff --git a/src/coclicodata/coclico_stac/templates.py b/src/coclicodata/coclico_stac/templates.py index 181060717d..2c25225183 100644 --- a/src/coclicodata/coclico_stac/templates.py +++ b/src/coclicodata/coclico_stac/templates.py @@ -33,10 +33,10 @@ def get_template_collection( title: str, description: str, keywords: list, - # license: str, - # spatial_extent: list, - # temporal_extent: list, - # providers: list, + license: str, + spatial_extent: list, + temporal_extent: list, + providers: list, # hosting_platform: str, ) -> pystac.Collection: """Deltares CoCliCo STAC Obj from template file. @@ -62,10 +62,10 @@ def get_template_collection( collection.title = title collection.description = description collection.keywords = keywords - # collection.license = license - # collection.extent.spatial.bbox = spatial_extent - # collection.extent.temporal.interval = temporal_extent - # collection.providers = providers + collection.license = license + collection.extent.spatial.bbox = spatial_extent + collection.extent.temporal.interval = temporal_extent + collection.providers = providers # Drop existing items, dimensions and summaries collection.set_root(None)