From a96726d104dfc87d4e5fe58bb2cc757c09c66dbb Mon Sep 17 00:00:00 2001 From: Jeff Shepherd Date: Tue, 4 Nov 2025 15:51:08 +0000 Subject: [PATCH 01/28] add global height level dataset --- .../template.json | 99 +++++++++++++++++++ datasets/met-office/dataset.yaml | 85 ++++++++++++++++ 2 files changed, 184 insertions(+) create mode 100644 datasets/met-office/collection/met-office-global-deterministic-height-level/template.json create mode 100644 datasets/met-office/dataset.yaml diff --git a/datasets/met-office/collection/met-office-global-deterministic-height-level/template.json b/datasets/met-office/collection/met-office-global-deterministic-height-level/template.json new file mode 100644 index 00000000..c0739fba --- /dev/null +++ b/datasets/met-office/collection/met-office-global-deterministic-height-level/template.json @@ -0,0 +1,99 @@ +{ + "id": "met-office-global-deterministic-height-level", + "type": "Collection", + "links": [ + { + "rel": "license", + "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", + "type": "text/html", + "title": "Creative Commons Attribution-ShareAlike 4.0" + }, + { + "rel": "cite-as", + "title": "British Crown copyright 2023-2025, the Met Office, is licensed under CC BY-SA" + }, + { + "rel": "describedBy", + "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", + "title": "Met Office Dataset Documentation" + } + ], + "title": "Met Office Global Deterministic Height Level", + "assets": { + "thumbnail": { + "href": "", + "type": "image/png", + "roles": [ + "thumbnail" + ], + "title": "Met Office Height Level thumbnail" + } + }, + "extent": { + "spatial": { + "bbox": [ + [ + -180, + -90, + 180, + 90 + ] + ] + }, + "temporal": { + "interval": [ + [ + "2 years ago", + null + ] + ] + } + }, + "license": "proprietary", + "keywords": [ + "MetOffice", + "Global", + "Cloud" + ], + "providers": [ + { + "url": "https://www.metoffice.gov.uk/", + "name": "Met Office", + "roles": [ + "producer", + "licensor", + "processor" + ] + }, + { + "url": "https://planetarycomputer.microsoft.com", + "name": "Microsoft", + "roles": [ + "host", + "processor" + ] + } + ], + "description": "The Met Office Global Deterministic Height Level dataset provides a composite of weather parameters generated for specific atmospheric height levels.", + "item_assets": { + "netcdf": { + "type": "application/x-netcdf", + "roles": [ + "data" + ], + "title": "Source data containing all heights" + } + }, + "stac_version": "1.0.0", + "msft:group_id": "metoffice", + "msft:container": "", + "stac_extensions": [ + "https://stac-extensions.github.io/classification/v1.0.0/schema.json", + "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json", + "https://stac-extensions.github.io/table/v1.2.0/schema.json", + "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" + ], + "msft:storage_account": "metofficeeuwest", + "msft:short_description": "Met Office Global Deterministic Height Level", + "msft:region": "westeurope" +} \ No newline at end of file diff --git a/datasets/met-office/dataset.yaml b/datasets/met-office/dataset.yaml new file mode 100644 index 00000000..5d4beb29 --- /dev/null +++ b/datasets/met-office/dataset.yaml @@ -0,0 +1,85 @@ +id: met-office +image: ${{ args.registry }}/pctasks-task-base:latest + +args: +- registry + +code: + src: ${{ local.path(./met_office.py) }} + requirements: ${{ local.path(./requirements.txt) }} + +environment: + APPLICATIONINSIGHTS_CONNECTION_STRING: ${{ secrets.task-application-insights-connection-string }} + +collections: + - id: met-office-global-deterministic-height-level + template: ${{ local.path(./collection/met-office-global-deterministic-height-level/) }} + asset_storage: + # This depends how you want to store the netcdf locally + - uri: blob://metofficeeuwest/global-deterministic-height-level/ + chunks: + options: + extensions: [.netcdf] + + - id: met-office-global-deterministic-pressure-level + template: ${{ local.path(./collection/met-office-global-deterministic-pressure-level/) }} + asset_storage: + # This depends how you want to store the netcdf locally + - uri: blob://metofficeeuwest/global-deterministic-pressure-level/ + chunks: + options: + extensions: [.netcdf] + + - id: met-office-global-deterministic-near-surface-level + template: ${{ local.path(./collection/met-office-global-deterministic-near-surface-level/) }} + asset_storage: + # This depends how you want to store the netcdf locally + - uri: blob://metofficeeuwest/global-deterministic-near-surface-level/ + chunks: + options: + extensions: [.netcdf] + + - id: met-office-global-deterministic-whole-atmosphere-level + template: ${{ local.path(./collection/met-office-global-deterministic-whole-atmosphere-level/) }} + asset_storage: + # This depends how you want to store the netcdf locally + - uri: blob://metofficeeuwest/global-deterministic-whole-atmosphere-level/ + chunks: + options: + extensions: [.netcdf] + + - id: met-office-uk-deterministic-height-level + template: ${{ local.path(./collection/met-office-uk-deterministic-height-level/) }} + asset_storage: + # This depends how you want to store the netcdf locally + - uri: blob://metofficeeuwest/uk-deterministic-height-level/ + chunks: + options: + extensions: [.netcdf] + + - id: met-office-uk-deterministic-pressure-level + template: ${{ local.path(./collection/met-office-uk-deterministic-pressure-level/) }} + asset_storage: + # This depends how you want to store the netcdf locally + - uri: blob://metofficeeuwest/uk-deterministic-pressure-level/ + chunks: + options: + extensions: [.netcdf] + + - id: met-office-uk-deterministic-near-surface-level + template: ${{ local.path(./collection/met-office-uk-deterministic-near-surface-level/) }} + asset_storage: + # This depends how you want to store the netcdf locally + - uri: blob://metofficeeuwest/uk-deterministic-near-surface-level/ + chunks: + options: + extensions: [.netcdf] + + - id: met-office-uk-deterministic-whole-atmosphere-level + template: ${{ local.path(./collection/met-office-uk-deterministic-whole-atmosphere-level/) }} + asset_storage: + # This depends how you want to store the netcdf locally + - uri: blob://metofficeeuwest/uk-deterministic-whole-atmosphere-level/ + chunks: + options: + extensions: [.netcdf] \ No newline at end of file From 5588033a547892096644b47a834503f818e4f60a Mon Sep 17 00:00:00 2001 From: Jeff Shepherd Date: Tue, 18 Nov 2025 17:05:15 +0000 Subject: [PATCH 02/28] add remaining dataset documentation for global and uk collections --- .../template.json | 10 +- .../template.json | 421 ++++++++++++++++++ .../template.json | 141 ++++++ .../template.json | 190 ++++++++ .../template.json | 120 +++++ .../template.json | 330 ++++++++++++++ .../template.json | 127 ++++++ .../template.json | 169 +++++++ datasets/met-office/dataset.yaml | 85 ---- 9 files changed, 1503 insertions(+), 90 deletions(-) create mode 100644 datasets/met-office/collection/met-office-global-deterministic-near-surface-level/template.json create mode 100644 datasets/met-office/collection/met-office-global-deterministic-pressure-level/template.json create mode 100644 datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere-level/template.json create mode 100644 datasets/met-office/collection/met-office-uk-deterministic-height-level/template.json create mode 100644 datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json create mode 100644 datasets/met-office/collection/met-office-uk-deterministic-pressure-level/template.json create mode 100644 datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere-level/template.json delete mode 100644 datasets/met-office/dataset.yaml diff --git a/datasets/met-office/collection/met-office-global-deterministic-height-level/template.json b/datasets/met-office/collection/met-office-global-deterministic-height-level/template.json index c0739fba..296604fd 100644 --- a/datasets/met-office/collection/met-office-global-deterministic-height-level/template.json +++ b/datasets/met-office/collection/met-office-global-deterministic-height-level/template.json @@ -26,7 +26,7 @@ "roles": [ "thumbnail" ], - "title": "Met Office Height Level thumbnail" + "title": "Met Office Global Deterministic Height Level Thumbnail" } }, "extent": { @@ -76,12 +76,12 @@ ], "description": "The Met Office Global Deterministic Height Level dataset provides a composite of weather parameters generated for specific atmospheric height levels.", "item_assets": { - "netcdf": { - "type": "application/x-netcdf", + "cloud_amount_on_height_levels": { + "type": "application/netcdf", + "title": "Cloud amount on height levels", "roles": [ "data" - ], - "title": "Source data containing all heights" + ] } }, "stac_version": "1.0.0", diff --git a/datasets/met-office/collection/met-office-global-deterministic-near-surface-level/template.json b/datasets/met-office/collection/met-office-global-deterministic-near-surface-level/template.json new file mode 100644 index 00000000..43fedb91 --- /dev/null +++ b/datasets/met-office/collection/met-office-global-deterministic-near-surface-level/template.json @@ -0,0 +1,421 @@ +{ + "id": "met-office-global-deterministic-near-surface-level", + "type": "Collection", + "links": [ + { + "rel": "license", + "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", + "type": "text/html", + "title": "Creative Commons Attribution-ShareAlike 4.0" + }, + { + "rel": "cite-as", + "title": "British Crown copyright 2023-2025, the Met Office, is licensed under CC BY-SA" + }, + { + "rel": "describedBy", + "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", + "title": "Met Office Dataset Documentation" + } + ], + "title": "Met Office Global Deterministic Near Surface Level", + "assets": { + "thumbnail": { + "href": "", + "type": "image/png", + "roles": [ + "thumbnail" + ], + "title": "Met Office Global Deterministic Near Surface Level Thumbnail" + } + }, + "extent": { + "spatial": { + "bbox": [ + [ + -180, + -90, + 180, + 90 + ] + ] + }, + "temporal": { + "interval": [ + [ + "2 years ago", + null + ] + ] + } + }, + "license": "proprietary", + "keywords": [ + "MetOffice", + "Global", + "Cloud" + ], + "providers": [ + { + "url": "https://www.metoffice.gov.uk/", + "name": "Met Office", + "roles": [ + "producer", + "licensor", + "processor" + ] + }, + { + "url": "https://planetarycomputer.microsoft.com", + "name": "Microsoft", + "roles": [ + "host", + "processor" + ] + } + ], + "description": "The Met Office Global Deterministic Near Surface Level dataset provides a composite of weather parameters generated for near surface levels.", + "item_assets": { + "fog_fraction_at_screen_level": { + "type": "application/netcdf", + "title": "Fog fraction at screen level", + "roles": [ + "data" + ] + }, + "latent_heat_flux_at_surface_mean-PT01H": { + "type": "application/netcdf", + "title": "Hourly latent heat flux at surface mean", + "roles": [ + "data" + ] + }, + "latent_heat_flux_at_surface_mean-PT03H": { + "type": "application/netcdf", + "title": "Three hourly latent heat flux at surface mean", + "roles": [ + "data" + ] + }, + "latent_heat_flux_at_surface_mean-PT06H": { + "type": "application/netcdf", + "title": "Six hourly latent heat flux at surface mean", + "roles": [ + "data" + ] + }, + "precipitation_accumulation-PT01H": { + "type": "application/netcdf", + "title": "Hourly precipitation accumulation", + "roles": [ + "data" + ] + }, + "precipitation_accumulation-PT03H": { + "type": "application/netcdf", + "title": "Three hourly precipitation accumulation", + "roles": [ + "data" + ] + }, + "precipitation_accumulation-PT06H": { + "type": "application/netcdf", + "title": "Six hourly precipitation accumulation", + "roles": [ + "data" + ] + }, + "precipitation_rate": { + "type": "application/netcdf", + "title": "Precipitation rate", + "roles": [ + "data" + ] + }, + "pressure_at_mean_sea_level": { + "type": "application/netcdf", + "title": "Pressure at mean sea level", + "roles": [ + "data" + ] + }, + "radiation_flux_in_longwave_downward_at_surface": { + "type": "application/netcdf", + "title": "Radiation flux in longwave downward at surface", + "roles": [ + "data" + ] + }, + "radiation_flux_in_shortwave_direct_downward_at_surface": { + "type": "application/netcdf", + "title": "Radiation flux in shortwave direct downward at surface", + "roles": [ + "data" + ] + }, + "radiation_flux_in_shortwave_total_downward_at_surface": { + "type": "application/netcdf", + "title": "Radiation flux in shortwave total downward at surface", + "roles": [ + "data" + ] + }, + "radiation_flux_in_uv_downward_at_surface": { + "type": "application/netcdf", + "title": "Radiation flux in uv downward at surface", + "roles": [ + "data" + ] + }, + "rainfall_accumulation-PT01H": { + "type": "application/netcdf", + "title": "Hourly rainfall accumulation", + "roles": [ + "data" + ] + }, + "rainfall_accumulation-PT03H": { + "type": "application/netcdf", + "title": "Three hourly rainfall accumulation", + "roles": [ + "data" + ] + }, + "rainfall_accumulation-PT06H": { + "type": "application/netcdf", + "title": "Six hourly rainfall accumulation", + "roles": [ + "data" + ] + }, + "rainfall_rate": { + "type": "application/netcdf", + "title": "Rainfall rate", + "roles": [ + "data" + ] + }, + "rainfall_rate_from_convection": { + "type": "application/netcdf", + "title": "Rainfall rate from convection", + "roles": [ + "data" + ] + }, + "rainfall_rate_from_convection_max-PT01H": { + "type": "application/netcdf", + "title": "Hourly rainfall rate from convection max", + "roles": [ + "data" + ] + }, + "rainfall_rate_from_convection_max-PT03H": { + "type": "application/netcdf", + "title": "Three hourly rainfall rate from convection max", + "roles": [ + "data" + ] + }, + "rainfall_rate_from_convection_max-PT06H": { + "type": "application/netcdf", + "title": "Six hourly rainfall rate from convection max", + "roles": [ + "data" + ] + }, + "relative_humidity_at_screen_level": { + "type": "application/netcdf", + "title": "Relative humidity at screen level", + "roles": [ + "data" + ] + }, + "snow_depth_water_equivalent": { + "type": "application/netcdf", + "title": "Snow depth water equivalent", + "roles": [ + "data" + ] + }, + "snowfall_rate": { + "type": "application/netcdf", + "title": "Snowfall rate", + "roles": [ + "data" + ] + }, + "snowfall_rate_from_convection": { + "type": "application/netcdf", + "title": "Snowfall rate from convection", + "roles": [ + "data" + ] + }, + "snowfall_rate_from_convection_max-PT01H": { + "type": "application/netcdf", + "title": "Hourly snowfall rate from convection max", + "roles": [ + "data" + ] + }, + "snowfall_rate_from_convection_max-PT03H": { + "type": "application/netcdf", + "title": "Three hourly snowfall rate from convection max", + "roles": [ + "data" + ] + }, + "snowfall_rate_from_convection_max-PT06H": { + "type": "application/netcdf", + "title": "Six hourly snowfall rate from convection max", + "roles": [ + "data" + ] + }, + "snowfall_rate_from_convection_mean-PT01H": { + "type": "application/netcdf", + "title": "Hourly snowfall rate from convection mean", + "roles": [ + "data" + ] + }, + "snowfall_rate_from_convection_mean-PT03H": { + "type": "application/netcdf", + "title": "Three hourly snowfall rate from convection mean", + "roles": [ + "data" + ] + }, + "snowfall_rate_from_convection_mean-PT06H": { + "type": "application/netcdf", + "title": "Six hourly snowfall rate from convection mean", + "roles": [ + "data" + ] + }, + "temperature_at_screen_level": { + "type": "application/netcdf", + "title": "Temperature at screen level", + "roles": [ + "data" + ] + }, + "temperature_at_screen_level_max-PT01H": { + "type": "application/netcdf", + "title": "Hourly temperature at screen level max", + "roles": [ + "data" + ] + }, + "temperature_at_screen_level_max-PT03H": { + "type": "application/netcdf", + "title": "Three hourly temperature at screen level max", + "roles": [ + "data" + ] + }, + "temperature_at_screen_level_max-PT06H": { + "type": "application/netcdf", + "title": "Six hourly temperature at screen level max", + "roles": [ + "data" + ] + }, + "temperature_at_screen_level_min-PT01H": { + "type": "application/netcdf", + "title": "Hourly temperature at screen level min", + "roles": [ + "data" + ] + }, + "temperature_at_screen_level_min-PT03H": { + "type": "application/netcdf", + "title": "Three hourly temperature at screen level min", + "roles": [ + "data" + ] + }, + "temperature_at_screen_level_min-PT06H": { + "type": "application/netcdf", + "title": "Six hourly temperature at screen level min", + "roles": [ + "data" + ] + }, + "temperature_at_surface": { + "type": "application/netcdf", + "title": "Temperature at surface", + "roles": [ + "data" + ] + }, + "temperature_of_dew_point_at_screen_level": { + "type": "application/netcdf", + "title": "Dew point temperature at screen level", + "roles": [ + "data" + ] + }, + "visibility_at_screen_level": { + "type": "application/netcdf", + "title": "Visibility at screen level", + "roles": [ + "data" + ] + }, + "wind_direction_at_10m": { + "type": "application/netcdf", + "title": "Wind direction at 10m", + "roles": [ + "data" + ] + }, + "wind_gust_at_10m": { + "type": "application/netcdf", + "title": "Wind gust at 10m", + "roles": [ + "data" + ] + }, + "wind_gust_at_10m_max-PT01H": { + "type": "application/netcdf", + "title": "Hourly wind gust at 10m max", + "roles": [ + "data" + ] + }, + "wind_gust_at_10m_max-PT03H": { + "type": "application/netcdf", + "title": "Three hourly wind gust at 10m max", + "roles": [ + "data" + ] + }, + "wind_gust_at_10m_max-PT06H": { + "type": "application/netcdf", + "title": "Six hourly wind gust at 10m max", + "roles": [ + "data" + ] + }, + "wind_speed_at_10m": { + "type": "application/netcdf", + "title": "Wind speed at 10m", + "roles": [ + "data" + ] + } + }, + "stac_version": "1.0.0", + "msft:group_id": "metoffice", + "msft:container": "", + "stac_extensions": [ + "https://stac-extensions.github.io/classification/v1.0.0/schema.json", + "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json", + "https://stac-extensions.github.io/table/v1.2.0/schema.json", + "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" + ], + "msft:storage_account": "metofficeeuwest", + "msft:short_description": "Met Office Global Deterministic Near Surface Level", + "msft:region": "westeurope" +} \ No newline at end of file diff --git a/datasets/met-office/collection/met-office-global-deterministic-pressure-level/template.json b/datasets/met-office/collection/met-office-global-deterministic-pressure-level/template.json new file mode 100644 index 00000000..fc38fa3c --- /dev/null +++ b/datasets/met-office/collection/met-office-global-deterministic-pressure-level/template.json @@ -0,0 +1,141 @@ +{ + "id": "met-office-global-deterministic-pressure-level", + "type": "Collection", + "links": [ + { + "rel": "license", + "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", + "type": "text/html", + "title": "Creative Commons Attribution-ShareAlike 4.0" + }, + { + "rel": "cite-as", + "title": "British Crown copyright 2023-2025, the Met Office, is licensed under CC BY-SA" + }, + { + "rel": "describedBy", + "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", + "title": "Met Office Dataset Documentation" + } + ], + "title": "Met Office Global Deterministic Pressure Level", + "assets": { + "thumbnail": { + "href": "", + "type": "image/png", + "roles": [ + "thumbnail" + ], + "title": "Met Office Global Deterministic Pressure Level Thumbnail" + } + }, + "extent": { + "spatial": { + "bbox": [ + [ + -180, + -90, + 180, + 90 + ] + ] + }, + "temporal": { + "interval": [ + [ + "2 years ago", + null + ] + ] + } + }, + "license": "proprietary", + "keywords": [ + "MetOffice", + "Global", + "Cloud" + ], + "providers": [ + { + "url": "https://www.metoffice.gov.uk/", + "name": "Met Office", + "roles": [ + "producer", + "licensor", + "processor" + ] + }, + { + "url": "https://planetarycomputer.microsoft.com", + "name": "Microsoft", + "roles": [ + "host", + "processor" + ] + } + ], + "description": "The Met Office Global Deterministic Pressure Level dataset provides a composite of weather parameters generated for specific atmospheric pressure levels.", + "item_assets": { + "height_ASL_on_pressure_levels": { + "type": "application/netcdf", + "title": "Height above sea level on pressure levels", + "roles": [ + "data" + ] + }, + "relative_humidity_on_pressure_levels": { + "type": "application/netcdf", + "title": "Relative humidity on pressure levels", + "roles": [ + "data" + ] + }, + "temperature_on_pressure_levels": { + "type": "application/netcdf", + "title": "Temperature on pressure levels", + "roles": [ + "data" + ] + }, + "wet_bulb_potential_temperature_on_pressure_levels": { + "type": "application/netcdf", + "title": "Wet bulb temperature on pressure levels", + "roles": [ + "data" + ] + }, + "wind_direction_on_pressure_levels": { + "type": "application/netcdf", + "title": "Wind direction on pressure levels", + "roles": [ + "data" + ] + }, + "wind_speed_on_pressure_levels": { + "type": "application/netcdf", + "title": "Wind speed on pressure levels", + "roles": [ + "data" + ] + }, + "wind_vertical_velocity_on_pressure_levels": { + "type": "application/netcdf", + "title": "Wind vertical velocity on pressure levels", + "roles": [ + "data" + ] + } + }, + "stac_version": "1.0.0", + "msft:group_id": "metoffice", + "msft:container": "", + "stac_extensions": [ + "https://stac-extensions.github.io/classification/v1.0.0/schema.json", + "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json", + "https://stac-extensions.github.io/table/v1.2.0/schema.json", + "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" + ], + "msft:storage_account": "metofficeeuwest", + "msft:short_description": "Met Office Global Deterministic Pressure Level", + "msft:region": "westeurope" +} \ No newline at end of file diff --git a/datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere-level/template.json b/datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere-level/template.json new file mode 100644 index 00000000..88c6e495 --- /dev/null +++ b/datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere-level/template.json @@ -0,0 +1,190 @@ +{ + "id": "met-office-global-deterministic-whole-atmosphere-level", + "type": "Collection", + "links": [ + { + "rel": "license", + "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", + "type": "text/html", + "title": "Creative Commons Attribution-ShareAlike 4.0" + }, + { + "rel": "cite-as", + "title": "British Crown copyright 2023-2025, the Met Office, is licensed under CC BY-SA" + }, + { + "rel": "describedBy", + "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", + "title": "Met Office Dataset Documentation" + } + ], + "title": "Met Office Global Deterministic Whole Atmosphere Level", + "assets": { + "thumbnail": { + "href": "", + "type": "image/png", + "roles": [ + "thumbnail" + ], + "title": "Met Office Global Deterministic Whole Atmosphere Level Thumbnail" + } + }, + "extent": { + "spatial": { + "bbox": [ + [ + -180, + -90, + 180, + 90 + ] + ] + }, + "temporal": { + "interval": [ + [ + "2 years ago", + null + ] + ] + } + }, + "license": "proprietary", + "keywords": [ + "MetOffice", + "Global", + "Cloud" + ], + "providers": [ + { + "url": "https://www.metoffice.gov.uk/", + "name": "Met Office", + "roles": [ + "producer", + "licensor", + "processor" + ] + }, + { + "url": "https://planetarycomputer.microsoft.com", + "name": "Microsoft", + "roles": [ + "host", + "processor" + ] + } + ], + "description": "The Met Office Global Deterministic Whole Atmosphere Level dataset provides a composite of weather parameters generated throughout the atmospheric column.", + "item_assets": { + "CAPE_mixed_layer_lowest_500m": { + "type": "application/netcdf", + "title": "Convective Available Potential Energy mixed layer lowest 500m", + "roles": [ + "data" + ] + }, + "CAPE_most_unstable_below_500hPa": { + "type": "application/netcdf", + "title": "Convective Available Potential Energy most unstable below 500hPa", + "roles": [ + "data" + ] + }, + "CAPE_surface": { + "type": "application/netcdf", + "title": "Convective Available Potential Energy with respect to surface", + "roles": [ + "data" + ] + }, + "CIN_mixed_layer_lowest_500m": { + "type": "application/netcdf", + "title": "Convective Inhibition mixed layer lowest 500m", + "roles": [ + "data" + ] + }, + "CIN_most_unstable_below_500hPa": { + "type": "application/netcdf", + "title": "Convective Inhibition most unstable below 500hPa", + "roles": [ + "data" + ] + }, + "CIN_surface": { + "type": "application/netcdf", + "title": "Convective Inhibition with respect to surface", + "roles": [ + "data" + ] + }, + "cloud_amount_below_1000ft_ASL": { + "type": "application/netcdf", + "title": "Cloud amount below 1000ft Above Sea Level", + "roles": [ + "data" + ] + }, + "cloud_amount_of_high_cloud": { + "type": "application/netcdf", + "title": "Cloud amount of high cloud", + "roles": [ + "data" + ] + }, + "cloud_amount_of_low_cloud": { + "type": "application/netcdf", + "title": "Cloud amount of low cloud", + "roles": [ + "data" + ] + }, + "cloud_amount_of_medium_cloud": { + "type": "application/netcdf", + "title": "Cloud amount of medium cloud", + "roles": [ + "data" + ] + }, + "cloud_amount_of_total_cloud": { + "type": "application/netcdf", + "title": "Cloud amount of total cloud", + "roles": [ + "data" + ] + }, + "cloud_amount_of_total_convective_cloud": { + "type": "application/netcdf", + "title": "Cloud amount of total convective cloud", + "roles": [ + "data" + ] + }, + "pressure_at_tropopause": { + "type": "application/netcdf", + "title": "Pressure at tropopause", + "roles": [ + "data" + ] + }, + "temperature_at_tropopause": { + "type": "application/netcdf", + "title": "Temperature at tropopause", + "roles": [ + "data" + ] + } + }, + "stac_version": "1.0.0", + "msft:group_id": "metoffice", + "msft:container": "", + "stac_extensions": [ + "https://stac-extensions.github.io/classification/v1.0.0/schema.json", + "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json", + "https://stac-extensions.github.io/table/v1.2.0/schema.json", + "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" + ], + "msft:storage_account": "metofficeeuwest", + "msft:short_description": "Met Office Global Deterministic Whole Atmosphere Level", + "msft:region": "westeurope" +} \ No newline at end of file diff --git a/datasets/met-office/collection/met-office-uk-deterministic-height-level/template.json b/datasets/met-office/collection/met-office-uk-deterministic-height-level/template.json new file mode 100644 index 00000000..c926426f --- /dev/null +++ b/datasets/met-office/collection/met-office-uk-deterministic-height-level/template.json @@ -0,0 +1,120 @@ +{ + "id": "met-office-uk-deterministic-height-level", + "type": "Collection", + "links": [ + { + "rel": "license", + "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", + "type": "text/html", + "title": "Creative Commons Attribution-ShareAlike 4.0" + }, + { + "rel": "cite-as", + "title": "British Crown copyright 2023-2025, the Met Office, is licensed under CC BY-SA" + }, + { + "rel": "describedBy", + "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", + "title": "Met Office Dataset Documentation" + } + ], + "title": "Met Office UK Deterministic Height Level", + "assets": { + "thumbnail": { + "href": "", + "type": "image/png", + "roles": [ + "thumbnail" + ], + "title": "Met Office UK Deterministic Height Level Thumbnail" + } + }, + "extent": { + "spatial": { + "bbox": [ + [ + 15, + 50, + 5, + 62 + ] + ] + }, + "temporal": { + "interval": [ + [ + "2 years ago", + null + ] + ] + } + }, + "license": "proprietary", + "keywords": [ + "MetOffice", + "UK", + "Cloud" + ], + "providers": [ + { + "url": "https://www.metoffice.gov.uk/", + "name": "Met Office", + "roles": [ + "producer", + "licensor", + "processor" + ] + }, + { + "url": "https://planetarycomputer.microsoft.com", + "name": "Microsoft", + "roles": [ + "host", + "processor" + ] + } + ], + "description": "The Met Office UK Deterministic Height Level dataset provides a composite of weather parameters generated for specific atmospheric height levels.", + "item_assets": { + "cloud_amount_on_height_levels": { + "type": "application/netcdf", + "title": "Cloud amount on height levels", + "roles": [ + "data" + ] + }, + "temperature_on_height_levels": { + "type": "application/netcdf", + "title": "Temperature on height levels", + "roles": [ + "data" + ] + }, + "wind_direction_on_height_levels": { + "type": "application/netcdf", + "title": "Wind direction on height levels", + "roles": [ + "data" + ] + }, + "wind_speed_on_height_levels": { + "type": "application/netcdf", + "title": "Wind speed on height levels", + "roles": [ + "data" + ] + } + }, + "stac_version": "1.0.0", + "msft:group_id": "metoffice", + "msft:container": "", + "stac_extensions": [ + "https://stac-extensions.github.io/classification/v1.0.0/schema.json", + "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json", + "https://stac-extensions.github.io/table/v1.2.0/schema.json", + "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" + ], + "msft:storage_account": "metofficeeuwest", + "msft:short_description": "Met Office UK Deterministic Height Level", + "msft:region": "westeurope" +} \ No newline at end of file diff --git a/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json b/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json new file mode 100644 index 00000000..2ad2f038 --- /dev/null +++ b/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json @@ -0,0 +1,330 @@ +{ + "id": "met-office-uk-deterministic-near-surface-level", + "type": "Collection", + "links": [ + { + "rel": "license", + "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", + "type": "text/html", + "title": "Creative Commons Attribution-ShareAlike 4.0" + }, + { + "rel": "cite-as", + "title": "British Crown copyright 2023-2025, the Met Office, is licensed under CC BY-SA" + }, + { + "rel": "describedBy", + "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", + "title": "Met Office Dataset Documentation" + } + ], + "title": "Met Office UK Deterministic Near Surface Level", + "assets": { + "thumbnail": { + "href": "", + "type": "image/png", + "roles": [ + "thumbnail" + ], + "title": "Met Office UK Deterministic Near Surface Level Thumbnail" + } + }, + "extent": { + "spatial": { + "bbox": [ + [ + 15, + 50, + 5, + 62 + ] + ] + }, + "temporal": { + "interval": [ + [ + "2 years ago", + null + ] + ] + } + }, + "license": "proprietary", + "keywords": [ + "MetOffice", + "UK", + "Cloud" + ], + "providers": [ + { + "url": "https://www.metoffice.gov.uk/", + "name": "Met Office", + "roles": [ + "producer", + "licensor", + "processor" + ] + }, + { + "url": "https://planetarycomputer.microsoft.com", + "name": "Microsoft", + "roles": [ + "host", + "processor" + ] + } + ], + "description": "The Met Office UK Deterministic Near Surface Level dataset provides a composite of weather parameters generated for near surface levels.", + "item_assets": { + "fog_fraction_at_screen_level": { + "type": "application/netcdf", + "title": "Fog fraction at screen level", + "roles": [ + "data" + ] + }, + "hail_fall_accumulation-PT01H": { + "type": "application/netcdf", + "title": "Hourly hail fall accumulation", + "roles": [ + "data" + ] + }, + "hail_fall_rate": { + "type": "application/netcdf", + "title": "Hail fall rate", + "roles": [ + "data" + ] + }, + "landsea_mask": { + "type": "application/netcdf", + "title": "Land binary mask", + "roles": [ + "data" + ] + }, + "precipitation_accumulation-PT01H": { + "type": "application/netcdf", + "title": "Hourly precipitation accumulation", + "roles": [ + "data" + ] + }, + "precipitation_accumulation-PT03H": { + "type": "application/netcdf", + "title": "Three hourly precipitation accumulation", + "roles": [ + "data" + ] + }, + "precipitation_rate": { + "type": "application/netcdf", + "title": "Precipitation rate", + "roles": [ + "data" + ] + }, + "pressure_at_mean_sea_level": { + "type": "application/netcdf", + "title": "Pressure at mean sea level", + "roles": [ + "data" + ] + }, + "pressure_at_surface": { + "type": "application/netcdf", + "title": "Pressure at surface", + "roles": [ + "data" + ] + }, + "radiation_flux_in_longwave_downward_at_surface": { + "type": "application/netcdf", + "title": "Radiation flux in longwave downward at surface", + "roles": [ + "data" + ] + }, + "radiation_flux_in_shortwave_diffuse_downward_at_surface": { + "type": "application/netcdf", + "title": "Radiation flux in shortwave diffuse downward at surface", + "roles": [ + "data" + ] + }, + "radiation_flux_in_shortwave_direct_downward_at_surface": { + "type": "application/netcdf", + "title": "Radiation flux in shortwave direct downward at surface", + "roles": [ + "data" + ] + }, + "radiation_flux_in_shortwave_total_downward_at_surface": { + "type": "application/netcdf", + "title": "Radiation flux in shortwave total downward at surface", + "roles": [ + "data" + ] + }, + "radiation_flux_in_uv_downward_at_surface": { + "type": "application/netcdf", + "title": "Radiation flux in uv downward at surface", + "roles": [ + "data" + ] + }, + "rainfall_accumulation-PT01H": { + "type": "application/netcdf", + "title": "Hourly rainfall accumulation", + "roles": [ + "data" + ] + }, + "rainfall_accumulation-PT03H": { + "type": "application/netcdf", + "title": "Three hourly rainfall accumulation", + "roles": [ + "data" + ] + }, + "rainfall_rate": { + "type": "application/netcdf", + "title": "Rainfall rate", + "roles": [ + "data" + ] + }, + "relative_humidity_at_screen_level": { + "type": "application/netcdf", + "title": "Relative humidity at screen level", + "roles": [ + "data" + ] + }, + "sensible_heat_flux_at_surface": { + "type": "application/netcdf", + "title": "Sensible heat flux at surface", + "roles": [ + "data" + ] + }, + "snow_depth_water_equivalent": { + "type": "application/netcdf", + "title": "Snow depth water equivalent", + "roles": [ + "data" + ] + }, + "snowfall_accumulation-PT01H": { + "type": "application/netcdf", + "title": "Hourly snowfall accumulation", + "roles": [ + "data" + ] + }, + "snowfall_accumulation-PT03H": { + "type": "application/netcdf", + "title": "Three hourly snowfall accumulation", + "roles": [ + "data" + ] + }, + "snowfall_rate": { + "type": "application/netcdf", + "title": "Snowfall rate", + "roles": [ + "data" + ] + }, + "temperature_at_screen_level": { + "type": "application/netcdf", + "title": "Temperature at screen level", + "roles": [ + "data" + ] + }, + "temperature_at_screen_level_max-PT01H": { + "type": "application/netcdf", + "title": "Hourly temperature at screen level max", + "roles": [ + "data" + ] + }, + "temperature_at_screen_level_min-PT01H": { + "type": "application/netcdf", + "title": "Hourly temperature at screen level min", + "roles": [ + "data" + ] + }, + "temperature_at_surface": { + "type": "application/netcdf", + "title": "Temperature at surface", + "roles": [ + "data" + ] + }, + "temperature_of_dew_point_at_screen_level": { + "type": "application/netcdf", + "title": "Dew point temperature at screen level", + "roles": [ + "data" + ] + }, + "visibility_at_screen_level": { + "type": "application/netcdf", + "title": "Visibility at screen level", + "roles": [ + "data" + ] + }, + "wind_direction_at_10m": { + "type": "application/netcdf", + "title": "Wind direction at 10m", + "roles": [ + "data" + ] + }, + "wind_gust_at_10m": { + "type": "application/netcdf", + "title": "Wind gust at 10m", + "roles": [ + "data" + ] + }, + "wind_gust_at_10m_max-PT01H": { + "type": "application/netcdf", + "title": "Hourly wind gust at 10m max", + "roles": [ + "data" + ] + }, + "wind_gust_at_10m_max-PT03H": { + "type": "application/netcdf", + "title": "Three hourly wind gust at 10m max", + "roles": [ + "data" + ] + }, + "wind_speed_at_10m": { + "type": "application/netcdf", + "title": "Wind speed at 10m", + "roles": [ + "data" + ] + } + }, + "stac_version": "1.0.0", + "msft:group_id": "metoffice", + "msft:container": "", + "stac_extensions": [ + "https://stac-extensions.github.io/classification/v1.0.0/schema.json", + "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json", + "https://stac-extensions.github.io/table/v1.2.0/schema.json", + "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" + ], + "msft:storage_account": "metofficeeuwest", + "msft:short_description": "Met Office UK Deterministic Near Surface Level", + "msft:region": "westeurope" +} \ No newline at end of file diff --git a/datasets/met-office/collection/met-office-uk-deterministic-pressure-level/template.json b/datasets/met-office/collection/met-office-uk-deterministic-pressure-level/template.json new file mode 100644 index 00000000..6b027602 --- /dev/null +++ b/datasets/met-office/collection/met-office-uk-deterministic-pressure-level/template.json @@ -0,0 +1,127 @@ +{ + "id": "met-office-UK-deterministic-pressure-level", + "type": "Collection", + "links": [ + { + "rel": "license", + "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", + "type": "text/html", + "title": "Creative Commons Attribution-ShareAlike 4.0" + }, + { + "rel": "cite-as", + "title": "British Crown copyright 2023-2025, the Met Office, is licensed under CC BY-SA" + }, + { + "rel": "describedBy", + "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", + "title": "Met Office Dataset Documentation" + } + ], + "title": "Met Office UK Deterministic Pressure Level", + "assets": { + "thumbnail": { + "href": "", + "type": "image/png", + "roles": [ + "thumbnail" + ], + "title": "Met Office UK Deterministic Pressure Level Thumbnail" + } + }, + "extent": { + "spatial": { + "bbox": [ + [ + 15, + 50, + 5, + 62 + ] + ] + }, + "temporal": { + "interval": [ + [ + "2 years ago", + null + ] + ] + } + }, + "license": "proprietary", + "keywords": [ + "MetOffice", + "UK", + "Cloud" + ], + "providers": [ + { + "url": "https://www.metoffice.gov.uk/", + "name": "Met Office", + "roles": [ + "producer", + "licensor", + "processor" + ] + }, + { + "url": "https://planetarycomputer.microsoft.com", + "name": "Microsoft", + "roles": [ + "host", + "processor" + ] + } + ], + "description": "The Met Office UK Deterministic Pressure Level dataset provides a composite of weather parameters generated for specific atmospheric pressure levels.", + "item_assets": { + "height_ASL_on_pressure_levels": { + "type": "application/netcdf", + "title": "Height above sea level on pressure levels", + "roles": [ + "data" + ] + }, + "relative_humidity_on_pressure_levels": { + "type": "application/netcdf", + "title": "Relative humidity on pressure levels", + "roles": [ + "data" + ] + }, + "temperature_on_pressure_levels": { + "type": "application/netcdf", + "title": "Temperature on pressure levels", + "roles": [ + "data" + ] + }, + "wind_direction_on_pressure_levels": { + "type": "application/netcdf", + "title": "Wind direction on pressure levels", + "roles": [ + "data" + ] + }, + "wind_speed_on_pressure_levels": { + "type": "application/netcdf", + "title": "Wind speed on pressure levels", + "roles": [ + "data" + ] + } + }, + "stac_version": "1.0.0", + "msft:group_id": "metoffice", + "msft:container": "", + "stac_extensions": [ + "https://stac-extensions.github.io/classification/v1.0.0/schema.json", + "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json", + "https://stac-extensions.github.io/table/v1.2.0/schema.json", + "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" + ], + "msft:storage_account": "metofficeeuwest", + "msft:short_description": "Met Office UK Deterministic Pressure Level", + "msft:region": "westeurope" +} \ No newline at end of file diff --git a/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere-level/template.json b/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere-level/template.json new file mode 100644 index 00000000..ed8ca0ac --- /dev/null +++ b/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere-level/template.json @@ -0,0 +1,169 @@ +{ + "id": "met-office-uk-deterministic-whole-atmosphere-level", + "type": "Collection", + "links": [ + { + "rel": "license", + "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", + "type": "text/html", + "title": "Creative Commons Attribution-ShareAlike 4.0" + }, + { + "rel": "cite-as", + "title": "British Crown copyright 2023-2025, the Met Office, is licensed under CC BY-SA" + }, + { + "rel": "describedBy", + "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", + "title": "Met Office Dataset Documentation" + } + ], + "title": "Met Office UK Deterministic Whole Atmosphere Level", + "assets": { + "thumbnail": { + "href": "", + "type": "image/png", + "roles": [ + "thumbnail" + ], + "title": "Met Office UK Deterministic Whole Atmosphere Level Thumbnail" + } + }, + "extent": { + "spatial": { + "bbox": [ + [ + 15, + 50, + 5, + 62 + ] + ] + }, + "temporal": { + "interval": [ + [ + "2 years ago", + null + ] + ] + } + }, + "license": "proprietary", + "keywords": [ + "MetOffice", + "UK", + "Cloud" + ], + "providers": [ + { + "url": "https://www.metoffice.gov.uk/", + "name": "Met Office", + "roles": [ + "producer", + "licensor", + "processor" + ] + }, + { + "url": "https://planetarycomputer.microsoft.com", + "name": "Microsoft", + "roles": [ + "host", + "processor" + ] + } + ], + "description": "The Met Office UK Deterministic Whole Atmosphere Level dataset provides a composite of weather parameters generated throughout the atmospheric column.", + "item_assets": { + "CAPE_most_unstable_below_500hPa": { + "type": "application/netcdf", + "title": "Convective Available Potential Energy most unstable below 500hPa", + "roles": [ + "data" + ] + }, + "CAPE_surface": { + "type": "application/netcdf", + "title": "Convective Available Potential Energy with respect to surface", + "roles": [ + "data" + ] + }, + "cloud_amount_below_1000ft_ASL": { + "type": "application/netcdf", + "title": "Cloud amount below 1000ft Above Sea Level", + "roles": [ + "data" + ] + }, + "cloud_amount_of_high_cloud": { + "type": "application/netcdf", + "title": "Cloud amount of high cloud", + "roles": [ + "data" + ] + }, + "cloud_amount_of_low_cloud": { + "type": "application/netcdf", + "title": "Cloud amount of low cloud", + "roles": [ + "data" + ] + }, + "cloud_amount_of_medium_cloud": { + "type": "application/netcdf", + "title": "Cloud amount of medium cloud", + "roles": [ + "data" + ] + }, + "cloud_amount_of_total_cloud": { + "type": "application/netcdf", + "title": "Cloud amount of total cloud", + "roles": [ + "data" + ] + }, + "height_AGL_at_cloud_base_where_cloud_cover_2p5_oktas": { + "type": "application/netcdf", + "title": "Height above ground level at cloud base where cloud cover 2p5 oktas", + "roles": [ + "data" + ] + }, + "height_AGL_at_freezing_level": { + "type": "application/netcdf", + "title": "Height above ground level at freezing level", + "roles": [ + "data" + ] + }, + "height_AGL_at_wet_bulb_freezing_level": { + "type": "application/netcdf", + "title": "Height above ground level at wet bulb freezing level", + "roles": [ + "data" + ] + }, + "lightning_flash_accumulation-PT01H": { + "type": "application/netcdf", + "title": "Hourly number of lightning flashes per unit area", + "roles": [ + "data" + ] + } + }, + "stac_version": "1.0.0", + "msft:group_id": "metoffice", + "msft:container": "", + "stac_extensions": [ + "https://stac-extensions.github.io/classification/v1.0.0/schema.json", + "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json", + "https://stac-extensions.github.io/table/v1.2.0/schema.json", + "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" + ], + "msft:storage_account": "metofficeeuwest", + "msft:short_description": "Met Office UK Deterministic Whole Atmosphere Level", + "msft:region": "westeurope" +} \ No newline at end of file diff --git a/datasets/met-office/dataset.yaml b/datasets/met-office/dataset.yaml deleted file mode 100644 index 5d4beb29..00000000 --- a/datasets/met-office/dataset.yaml +++ /dev/null @@ -1,85 +0,0 @@ -id: met-office -image: ${{ args.registry }}/pctasks-task-base:latest - -args: -- registry - -code: - src: ${{ local.path(./met_office.py) }} - requirements: ${{ local.path(./requirements.txt) }} - -environment: - APPLICATIONINSIGHTS_CONNECTION_STRING: ${{ secrets.task-application-insights-connection-string }} - -collections: - - id: met-office-global-deterministic-height-level - template: ${{ local.path(./collection/met-office-global-deterministic-height-level/) }} - asset_storage: - # This depends how you want to store the netcdf locally - - uri: blob://metofficeeuwest/global-deterministic-height-level/ - chunks: - options: - extensions: [.netcdf] - - - id: met-office-global-deterministic-pressure-level - template: ${{ local.path(./collection/met-office-global-deterministic-pressure-level/) }} - asset_storage: - # This depends how you want to store the netcdf locally - - uri: blob://metofficeeuwest/global-deterministic-pressure-level/ - chunks: - options: - extensions: [.netcdf] - - - id: met-office-global-deterministic-near-surface-level - template: ${{ local.path(./collection/met-office-global-deterministic-near-surface-level/) }} - asset_storage: - # This depends how you want to store the netcdf locally - - uri: blob://metofficeeuwest/global-deterministic-near-surface-level/ - chunks: - options: - extensions: [.netcdf] - - - id: met-office-global-deterministic-whole-atmosphere-level - template: ${{ local.path(./collection/met-office-global-deterministic-whole-atmosphere-level/) }} - asset_storage: - # This depends how you want to store the netcdf locally - - uri: blob://metofficeeuwest/global-deterministic-whole-atmosphere-level/ - chunks: - options: - extensions: [.netcdf] - - - id: met-office-uk-deterministic-height-level - template: ${{ local.path(./collection/met-office-uk-deterministic-height-level/) }} - asset_storage: - # This depends how you want to store the netcdf locally - - uri: blob://metofficeeuwest/uk-deterministic-height-level/ - chunks: - options: - extensions: [.netcdf] - - - id: met-office-uk-deterministic-pressure-level - template: ${{ local.path(./collection/met-office-uk-deterministic-pressure-level/) }} - asset_storage: - # This depends how you want to store the netcdf locally - - uri: blob://metofficeeuwest/uk-deterministic-pressure-level/ - chunks: - options: - extensions: [.netcdf] - - - id: met-office-uk-deterministic-near-surface-level - template: ${{ local.path(./collection/met-office-uk-deterministic-near-surface-level/) }} - asset_storage: - # This depends how you want to store the netcdf locally - - uri: blob://metofficeeuwest/uk-deterministic-near-surface-level/ - chunks: - options: - extensions: [.netcdf] - - - id: met-office-uk-deterministic-whole-atmosphere-level - template: ${{ local.path(./collection/met-office-uk-deterministic-whole-atmosphere-level/) }} - asset_storage: - # This depends how you want to store the netcdf locally - - uri: blob://metofficeeuwest/uk-deterministic-whole-atmosphere-level/ - chunks: - options: - extensions: [.netcdf] \ No newline at end of file From acba9acf009cd4cc577dd620eec26299faffb255 Mon Sep 17 00:00:00 2001 From: Jeff Shepherd Date: Wed, 19 Nov 2025 15:10:39 +0000 Subject: [PATCH 03/28] Update datasets/met-office/collection/met-office-global-deterministic-height-level/template.json Co-authored-by: Pete Gadomski --- .../template.json | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/datasets/met-office/collection/met-office-global-deterministic-height-level/template.json b/datasets/met-office/collection/met-office-global-deterministic-height-level/template.json index 296604fd..c485ee38 100644 --- a/datasets/met-office/collection/met-office-global-deterministic-height-level/template.json +++ b/datasets/met-office/collection/met-office-global-deterministic-height-level/template.json @@ -88,10 +88,7 @@ "msft:group_id": "metoffice", "msft:container": "", "stac_extensions": [ - "https://stac-extensions.github.io/classification/v1.0.0/schema.json", - "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json", - "https://stac-extensions.github.io/table/v1.2.0/schema.json", - "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" + "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json" ], "msft:storage_account": "metofficeeuwest", "msft:short_description": "Met Office Global Deterministic Height Level", From 21b9fbb4e077a044e2a419b333cc3d8a6b11a0f3 Mon Sep 17 00:00:00 2001 From: Jeff Shepherd Date: Wed, 19 Nov 2025 15:14:49 +0000 Subject: [PATCH 04/28] Update datasets/met-office/collection/met-office-uk-deterministic-height-level/template.json Co-authored-by: Pete Gadomski --- .../template.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/datasets/met-office/collection/met-office-uk-deterministic-height-level/template.json b/datasets/met-office/collection/met-office-uk-deterministic-height-level/template.json index c926426f..07f7a32e 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-height-level/template.json +++ b/datasets/met-office/collection/met-office-uk-deterministic-height-level/template.json @@ -33,10 +33,10 @@ "spatial": { "bbox": [ [ - 15, - 50, - 5, - 62 + -24.51, + 44.52, + 15.28, + 61.83 ] ] }, From 1bcd211dcbf4312de66293d371c28da3e8f50622 Mon Sep 17 00:00:00 2001 From: Pete Gadomski Date: Mon, 24 Nov 2025 14:23:17 -0700 Subject: [PATCH 05/28] --wip-- [skip ci] --- datasets/met-office/dataset.yaml | 28 ++++++++++++++++++++++++++++ datasets/met-office/met_office.py | 0 datasets/met-office/requirements.txt | 0 3 files changed, 28 insertions(+) create mode 100644 datasets/met-office/dataset.yaml create mode 100644 datasets/met-office/met_office.py create mode 100644 datasets/met-office/requirements.txt diff --git a/datasets/met-office/dataset.yaml b/datasets/met-office/dataset.yaml new file mode 100644 index 00000000..5c0eaead --- /dev/null +++ b/datasets/met-office/dataset.yaml @@ -0,0 +1,28 @@ +id: met-office +image: ${{ args.registry }}/pctasks-task-base:2025.4.8.2 + +args: + - registry + +code: + src: ${{ local.path(./met_office.py) }} + +environment: + APPLICATIONINSIGHTS_CONNECTION_STRING: ${{ secrets.task-application-insights-connection-string }} + +collections: + - id: met-office-global-deterministic-height-level + template: ${{ local.path(./collection/met-office-global-deterministic-height-level) }} + class: met_office:MetOfficeCollection + asset_storage: + - uri: blob://ukmoforecasts/global/height + chunks: + splits: + - depth: 1 + options: + ends_with: .nc + min_depth: 6 + max_depth: 6 + chunk_length: 20000 + chunk_storage: + uri: blob://ukmoforecasts/met-office-deterministic-info/pctasks-chunks/ diff --git a/datasets/met-office/met_office.py b/datasets/met-office/met_office.py new file mode 100644 index 00000000..e69de29b diff --git a/datasets/met-office/requirements.txt b/datasets/met-office/requirements.txt new file mode 100644 index 00000000..e69de29b From 851c4baf8da2566d8bbadad3ea91d566ded201c2 Mon Sep 17 00:00:00 2001 From: Jeff Shepherd Date: Wed, 3 Dec 2025 17:49:17 +0000 Subject: [PATCH 06/28] add template docs and description markdown for UKV Near Surface Collection --- .../description.md | 58 +++++++++ .../template.json | 110 ++++++++++++++++-- 2 files changed, 158 insertions(+), 10 deletions(-) create mode 100644 datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/description.md diff --git a/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/description.md b/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/description.md new file mode 100644 index 00000000..2dd933ce --- /dev/null +++ b/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/description.md @@ -0,0 +1,58 @@ +This collection offers 35 parameters at near-surface level from the Met Office UKV 2km deterministic forecast. This is a high-resolution gridded weather forecast for the UK, with a resolution of 0.018 degrees, projected on to a 2km horizontal grid. + +The data is available as NetCDF files. It's offered on a free, unsupported basis, so we don’t recommend using it for any critical business purposes. + +## Coverage area +The forecast covers the UK and Ireland, with the following latitude and longitude coordinates for each corner of the included area: +* Southwest: 48.8643°N, 10.6734°W +* Northwest: 61.3322°N, 13.7254°W +* Northeast: 61.6102°N, 4.3408°E +* Southeast: 49.0594°N, 2.4654°E + +## Timesteps +The following time steps are available: +* every hour from 0 to 54 hours (for most parameters, see parameter table for exceptions) +* every 3 hours from 57 to 120 hours + +## Update frequency +There are three lengths of model run, each with its own update frequency: +* The Nowcast-length runs forecast the next 12 hours and are at 0100, 0200, 0400, 0500, 0700, 0800, 1000, 1100, 1300, 1400, 1600, 1700, 1900, 2000, 2200 and 2300 UTC. +* The Short-length runs forecast the next 54 hours and are at 0000, 0600, 0900, 1200, 1800 and 2100 UTC. +* The Medium-Length runs forecast the next 120 hours and are at 0300 and 1500 UTC. + +## Archive length and latency + +As of January 2026, the archive contains data from January 2024 onwards. Forecasts will continue to be available for at least two years from their data date. + +The data is typically available approximately 3-3.5 hours after the model run time. + +## Technical specs +The data is available as NetCDF files. NetCDF (Network Common Data Form) is an interface for array-orientated data access and a library that supports the interface. It is composed of 3 components: +* variables store the data +* dimensions give relevant dimension information for the variables +* attributes provide auxiliary information about the variables or dataset itself + +NetCDF is used within the atmospheric and oceanic science communities and is network transparent, allowing for it to be accessed by computers that store integers, characters and floating-point numbers. + +Iris supports NetCDF files through reading, writing and handling. Iris implements a model based on the CF conventions, giving a format-agnostic interface for working with data. + +[Find further support on using Iris with NetCDF files.](https://scitools-iris.readthedocs.io/en/stable/) + +## Help us improve the data services we offer + +[Join the Met Office research panel](https://forms.office.com/Pages/ResponsePage.aspx?id=YYHxF9cgRkeH_VD-PjtmGdxioYGoFbFIkZuB_q8Fb3VUQkoxRVQzTFdUMzNMVzczWVM5VTc3QTY3MC4u) to help us understand how people interact with weather and climate data, uncover challenges and explore opportunities. + +## How to cite + +UKV 2km deterministic forecast was accessed on DATE from _insert Planetary Computer link_. + +## License + +British Crown copyright 2023-2025, the Met Office, is licensed under [CC BY-SA](https://creativecommons.org/licenses/by-sa/4.0/deed.en). + +## Providers +[Met Office](https://www.metoffice.gov.uk/) +See all datasets managed by [Met Office.](https://registry.opendata.aws/?search=managedBy:met%20office) + +## Contact +[servicedesk@metoffice.gov.uk](mailto:servicedesk@metoffice.gov.uk). Service desk is only available Mon – Fri, 09:00 until 17:00 UTC (-1 hour during BST). As a non-operational service we aim to respond to any service support enquiries within 3-5 business days. \ No newline at end of file diff --git a/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json b/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json index 2ad2f038..221f3cb9 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json +++ b/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json @@ -8,17 +8,13 @@ "type": "text/html", "title": "Creative Commons Attribution-ShareAlike 4.0" }, - { - "rel": "cite-as", - "title": "British Crown copyright 2023-2025, the Met Office, is licensed under CC BY-SA" - }, { "rel": "describedBy", "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", "title": "Met Office Dataset Documentation" } ], - "title": "Met Office UK Deterministic Near Surface Level", + "title": "Near-surface level collection Met Office UKV 2km deterministic forecast", "assets": { "thumbnail": { "href": "", @@ -26,7 +22,7 @@ "roles": [ "thumbnail" ], - "title": "Met Office UK Deterministic Near Surface Level Thumbnail" + "title": "Near-surface level collection Met Office UKV 2km deterministic forecast Thumbnail" } }, "extent": { @@ -43,7 +39,7 @@ "temporal": { "interval": [ [ - "2 years ago", + "2024-01-01T00:00:00Z", null ] ] @@ -51,9 +47,15 @@ }, "license": "proprietary", "keywords": [ - "MetOffice", + "Met Office", + "Weather", + "Forecast", "UK", - "Cloud" + "Precipitation", + "Temperature", + "Wind", + "Pressure", + "Humidity" ], "providers": [ { @@ -74,11 +76,13 @@ ] } ], - "description": "The Met Office UK Deterministic Near Surface Level dataset provides a composite of weather parameters generated for near surface levels.", "item_assets": { "fog_fraction_at_screen_level": { "type": "application/netcdf", "title": "Fog fraction at screen level", + "description": "Here fog means a visibility of 1000 m or lower. The reduction in visibility is caused by water droplets or minute ice crystals forming close to the surface. This quantity represents the fraction of horizontal grid square occupied by fog. An alternative interpretation is that this represents the fractional probability of fog being present at any location in the grid square.", + "unit": "1", + "height": "1.5m", "roles": [ "data" ] @@ -86,6 +90,8 @@ "hail_fall_accumulation-PT01H": { "type": "application/netcdf", "title": "Hourly hail fall accumulation", + "description": "Implied depth of the layer of liquid water equivalent (LWE) hail produced by the model precipitation scheme and deposited on the surface in the previous hour.", + "unit": "m", "roles": [ "data" ] @@ -93,6 +99,17 @@ "hail_fall_rate": { "type": "application/netcdf", "title": "Hail fall rate", + "description": "Instantaneous rate at which liquid water equivalent (LWE) hail (as a depth) has been produced by the model precipitation scheme and deposited on the surface.", + "unit": "m/s", + "roles": [ + "data" + ] + }, + "height_of_orography ": { + "type": "application/netcdf", + "title": "Height of orography", + "description": "Altitude or (geometric) height above the geoid of the surface (ground). It is worth remembering that orographic height can be negative, particularly in some of the inland sea areas (e.g. Caspian Sea at -27m and Dead Sea at -430m).", + "unit": "m", "roles": [ "data" ] @@ -100,6 +117,8 @@ "landsea_mask": { "type": "application/netcdf", "title": "Land binary mask", + "description": "Binary indicator of whether a point is considered land (value = 1) or sea (value = 0). This is useful to identify the coastline and characterise points for correct interpretation of forecast data by users.", + "unit": "1", "roles": [ "data" ] @@ -107,6 +126,8 @@ "precipitation_accumulation-PT01H": { "type": "application/netcdf", "title": "Hourly precipitation accumulation", + "description": "Implied depth of the layer of liquid water which has been deposited on the surface in the previous hour. This includes rain, snow and hail, with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", + "unit": "m", "roles": [ "data" ] @@ -114,6 +135,8 @@ "precipitation_accumulation-PT03H": { "type": "application/netcdf", "title": "Three hourly precipitation accumulation", + "description": "Implied depth of the layer of liquid water which has been deposited on the surface in the previous 3 hours. This includes rain, snow and hail, with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", + "unit": "m", "roles": [ "data" ] @@ -121,6 +144,8 @@ "precipitation_rate": { "type": "application/netcdf", "title": "Precipitation rate", + "description": "Instantaneous rate at which liquid water (as a depth) was being deposited on the surface. This includes rain, snow and hail with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", + "unit": "m/s", "roles": [ "data" ] @@ -128,6 +153,8 @@ "pressure_at_mean_sea_level": { "type": "application/netcdf", "title": "Pressure at mean sea level", + "description": "Air pressure at mean sea level which is close to the geoid in sea areas. Air pressure at sea level is the quantity often abbreviated as MSLP or PMSL.", + "unit": "Pa", "roles": [ "data" ] @@ -135,6 +162,8 @@ "pressure_at_surface": { "type": "application/netcdf", "title": "Pressure at surface", + "description": "Air pressure at the surface (lower boundary of the atmosphere).", + "unit": "Pa", "roles": [ "data" ] @@ -142,6 +171,8 @@ "radiation_flux_in_longwave_downward_at_surface": { "type": "application/netcdf", "title": "Radiation flux in longwave downward at surface", + "description": "Longwave radiation at the surface from above directed at the ground.", + "unit": "W/m2", "roles": [ "data" ] @@ -149,6 +180,8 @@ "radiation_flux_in_shortwave_diffuse_downward_at_surface": { "type": "application/netcdf", "title": "Radiation flux in shortwave diffuse downward at surface", + "description": "Diffuse component of shortwave radiation at the surface from above directed at the ground.", + "unit": "W/m2", "roles": [ "data" ] @@ -156,6 +189,8 @@ "radiation_flux_in_shortwave_direct_downward_at_surface": { "type": "application/netcdf", "title": "Radiation flux in shortwave direct downward at surface", + "description": "Direct component of shortwave radiation at the surface from above directed at the ground.", + "unit": "W/m2", "roles": [ "data" ] @@ -163,6 +198,8 @@ "radiation_flux_in_shortwave_total_downward_at_surface": { "type": "application/netcdf", "title": "Radiation flux in shortwave total downward at surface", + "description": "Total shortwave radiation at the surface from above directed at the ground.", + "unit": "W/m2", "roles": [ "data" ] @@ -170,6 +207,8 @@ "radiation_flux_in_uv_downward_at_surface": { "type": "application/netcdf", "title": "Radiation flux in uv downward at surface", + "description": "Ultraviolet radiation at the surface from above directed at the ground.", + "unit": "W/m2", "roles": [ "data" ] @@ -177,6 +216,8 @@ "rainfall_accumulation-PT01H": { "type": "application/netcdf", "title": "Hourly rainfall accumulation", + "description": "Implied depth of the rain produced by the model precipitation scheme which has been deposited on the surface in the previous hour. This excludes the rain produced by the model convection scheme.", + "unit": "m", "roles": [ "data" ] @@ -184,6 +225,8 @@ "rainfall_accumulation-PT03H": { "type": "application/netcdf", "title": "Three hourly rainfall accumulation", + "description": "Implied depth of the rain produced by the model precipitation scheme which has been deposited on the surface in the previous 3 hours. This excludes the rain produced by the model convection scheme.", + "unit": "m", "roles": [ "data" ] @@ -191,6 +234,8 @@ "rainfall_rate": { "type": "application/netcdf", "title": "Rainfall rate", + "description": "Instantaneous rate at which rain (as a depth) was being produced by the model precipitation scheme and deposited on the surface. This excludes the rain produced by the model convection scheme.", + "unit": "m/s", "roles": [ "data" ] @@ -198,6 +243,9 @@ "relative_humidity_at_screen_level": { "type": "application/netcdf", "title": "Relative humidity at screen level", + "description": "Fractional relative humidity (ratio of the partial pressure of water vapour to the equilibrium vapour pressure of water) at screen level (1.5m above the surface.)", + "unit": "1", + "height": "1.5m", "roles": [ "data" ] @@ -205,6 +253,8 @@ "sensible_heat_flux_at_surface": { "type": "application/netcdf", "title": "Sensible heat flux at surface", + "description": "Exchange of heat between the surface and the air by motion of air, also called turbulent heat flux.", + "unit": "W/m2", "roles": [ "data" ] @@ -212,6 +262,8 @@ "snow_depth_water_equivalent": { "type": "application/netcdf", "title": "Snow depth water equivalent", + "description": "Liquid water equivalent ( LWE) depth of the snow lying on the surface (ground). Typically water is 10 times as dense as snow, so multiplying by 10 gives an approximate depth of the snow, although wet snow can be significantly denser and powder snow much less dense.", + "unit": "m", "roles": [ "data" ] @@ -219,6 +271,8 @@ "snowfall_accumulation-PT01H": { "type": "application/netcdf", "title": "Hourly snowfall accumulation", + "description": "Implied depth of the (LWE) snow (as a depth) produced by the model precipitation scheme and deposited on the surface in the previous hour. This excludes the snow produced by the model convection scheme. ", + "unit": "m", "roles": [ "data" ] @@ -226,6 +280,8 @@ "snowfall_accumulation-PT03H": { "type": "application/netcdf", "title": "Three hourly snowfall accumulation", + "description": "Implied depth of the (LWE) snow (as a depth) produced by the model precipitation scheme and deposited on the surface in the previous 3 hours. This excludes the snow produced by the model convection scheme.", + "unit": "m", "roles": [ "data" ] @@ -233,6 +289,8 @@ "snowfall_rate": { "type": "application/netcdf", "title": "Snowfall rate", + "description": "Instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) was produced by the model precipitation scheme and deposited on the surface. This excludes the snow produced by the model convection scheme.", + "unit": "m/s", "roles": [ "data" ] @@ -240,6 +298,9 @@ "temperature_at_screen_level": { "type": "application/netcdf", "title": "Temperature at screen level", + "description": "Instantaneous air temperature at screen level (1.5m).", + "unit": "K", + "height": "1.5m", "roles": [ "data" ] @@ -247,6 +308,9 @@ "temperature_at_screen_level_max-PT01H": { "type": "application/netcdf", "title": "Hourly temperature at screen level max", + "description": "Maximum instantaneous air temperature at screen level (1.5m) in the previous hour.", + "unit": "K", + "height": "1.5m", "roles": [ "data" ] @@ -254,6 +318,9 @@ "temperature_at_screen_level_min-PT01H": { "type": "application/netcdf", "title": "Hourly temperature at screen level min", + "description": "Minimum instantaneous air temperature at screen level (1.5m) in the previous hour.", + "unit": "K", + "height": "1.5m", "roles": [ "data" ] @@ -261,6 +328,8 @@ "temperature_at_surface": { "type": "application/netcdf", "title": "Temperature at surface", + "description": "Temperature at the surface interface between the air and the ground.", + "unit": "K", "roles": [ "data" ] @@ -268,6 +337,9 @@ "temperature_of_dew_point_at_screen_level": { "type": "application/netcdf", "title": "Dew point temperature at screen level", + "description": "Instantaneous dew point temperature (temperature at which a parcel of air reaches saturation upon being cooled at constant pressure and specific humidity) at screen level (1.5m).", + "unit": "K", + "height": "1.5m", "roles": [ "data" ] @@ -275,6 +347,9 @@ "visibility_at_screen_level": { "type": "application/netcdf", "title": "Visibility at screen level", + "description": "Horizontal distance at which something can be seen horizontally from screen level (1.5m).", + "unit": "m", + "height": "1.5m", "roles": [ "data" ] @@ -282,6 +357,9 @@ "wind_direction_at_10m": { "type": "application/netcdf", "title": "Wind direction at 10m", + "description": "Wind at 10m above the surface is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. In meteorological reports the direction of the wind vector is given as the direction from which it is blowing. Note: This with wind speed at 10m replaces x wind at 10m and y wind at 10m.", + "unit": "degrees", + "height": "10.0m", "roles": [ "data" ] @@ -289,6 +367,9 @@ "wind_gust_at_10m": { "type": "application/netcdf", "title": "Wind gust at 10m", + "description": "Diagnosed instantaneous wind gust at 10m. This can be considered as the extreme rather than steady wind speed that might be experienced at this specific time.", + "unit": "m/s", + "height": "10.0m", "roles": [ "data" ] @@ -296,6 +377,9 @@ "wind_gust_at_10m_max-PT01H": { "type": "application/netcdf", "title": "Hourly wind gust at 10m max", + "description": "Maximum diagnosed instantaneous wind gust at 10m in the previous hour. This can be considered as the extreme wind speed that might be experienced in this period. ", + "unit": "m/s", + "height": "10.0m", "roles": [ "data" ] @@ -303,6 +387,9 @@ "wind_gust_at_10m_max-PT03H": { "type": "application/netcdf", "title": "Three hourly wind gust at 10m max", + "description": "Maximum diagnosed instantaneous wind gust at 10m in the previous 3 hours. This can be considered as the extreme wind speed that might be experienced in this period.", + "unit": "m/s", + "height": "10.0m", "roles": [ "data" ] @@ -310,6 +397,9 @@ "wind_speed_at_10m": { "type": "application/netcdf", "title": "Wind speed at 10m", + "description": "Wind at 10m above the surface is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. The speed is the magnitude of velocity.", + "unit": "m/s", + "height": "10.0m", "roles": [ "data" ] From dbb235ae7dfc96700ba7beecbab5855b3b00f6a6 Mon Sep 17 00:00:00 2001 From: Jeff Shepherd Date: Thu, 4 Dec 2025 09:50:04 +0000 Subject: [PATCH 07/28] Update datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json Co-authored-by: Pete Gadomski --- .../template.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json b/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json index 221f3cb9..59fe23b5 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json +++ b/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json @@ -9,7 +9,7 @@ "title": "Creative Commons Attribution-ShareAlike 4.0" }, { - "rel": "describedBy", + "rel": "describedby", "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", "title": "Met Office Dataset Documentation" } From ebe9b91ea79770df25b9652dda66b59f5016816b Mon Sep 17 00:00:00 2001 From: Jeff Shepherd Date: Thu, 4 Dec 2025 09:53:57 +0000 Subject: [PATCH 08/28] Update datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json Co-authored-by: Pete Gadomski --- .../template.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json b/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json index 59fe23b5..325c3690 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json +++ b/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json @@ -105,7 +105,7 @@ "data" ] }, - "height_of_orography ": { + "height_of_orography": { "type": "application/netcdf", "title": "Height of orography", "description": "Altitude or (geometric) height above the geoid of the surface (ground). It is worth remembering that orographic height can be negative, particularly in some of the inland sea areas (e.g. Caspian Sea at -27m and Dead Sea at -430m).", From 6de0113981c11b976cfe49bde96ebbb79897abb8 Mon Sep 17 00:00:00 2001 From: Jeff Shepherd Date: Thu, 4 Dec 2025 12:41:03 +0000 Subject: [PATCH 09/28] finish UKV and add Global Near Surface --- .../description.md | 49 +++++++ .../template.json | 133 ++++++++++++++++-- .../description.md | 59 ++++++++ .../template.json | 46 +++--- .../description.md | 22 ++- .../template.json | 4 +- .../description.md | 62 ++++++++ .../template.json | 54 +++++-- .../description.md | 56 ++++++++ .../template.json | 47 +++++-- 10 files changed, 461 insertions(+), 71 deletions(-) create mode 100644 datasets/met-office/collection/met-office-global-deterministic-near-surface-level/description.md create mode 100644 datasets/met-office/collection/met-office-uk-deterministic-height-level/description.md create mode 100644 datasets/met-office/collection/met-office-uk-deterministic-pressure-level/description.md create mode 100644 datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere-level/description.md diff --git a/datasets/met-office/collection/met-office-global-deterministic-near-surface-level/description.md b/datasets/met-office/collection/met-office-global-deterministic-near-surface-level/description.md new file mode 100644 index 00000000..a42e1372 --- /dev/null +++ b/datasets/met-office/collection/met-office-global-deterministic-near-surface-level/description.md @@ -0,0 +1,49 @@ +This collection offers 48 parameters at near-surface level from the Met Office global deterministic 10km forecast. This is a numerical weather prediction forecast for the whole globe, with a resolution of approximately 0.09 degrees i.e. 10km (2,560 x 1,920 grid points). + +The data is available as NetCDF files. It's offered on a free, unsupported basis, so we don’t recommend using it for any critical business purposes. + +## Timesteps +The following timesteps are available: +* every hour from 0 to 54 hours (for most parameters, see parameter table for exceptions) +* every 3 hours from 57 to 144 hours +* every 6 hours from 150 to 168 hours + +## Update Frequency +The model is run four times each day, with forecast reference times of 00:00, 06:00, 12:00 and 18:00 (UTC). + +The runs at 00:00 and 12:00 provide data for the next 168 hours. The runs at 12:00 and 18:00 provide data for the next 66 hours. + +The forecast reference time represents the nominal data time or start time of a model forecast run, rather than the time when the data is available. + +## Archive length and latency +As of December 2025, the archive contains data from December 2023 onwards. Forecasts will continue to be available for at least two years from their data date. + +The data is typically available approximately Y hours after the model run time. + +## Technical specs +The data is available as NetCDF files. NetCDF (Network Common Data Form) is an interface for array-orientated data access and a library that supports the interface. It is composed of 3 components: +* Variables store the data +* Dimensions give relevant dimension information for the variables +* Attributes provide auxiliary information about the variables or dataset itself + +NetCDF is used within the atmospheric and oceanic science communities and is network transparent, allowing for it to be accessed by computers that store integers, characters and floating-point numbers. + +Iris supports NetCDF files through reading, writing and handling. Iris implements a model based on the CF conventions, giving a format-agnostic interface for working with data. + +[Find further support on using Iris with NetCDF files.](https://scitools-iris.readthedocs.io/en/stable/) + +## Help us improve the data services we offer +[Join the Met Office research panel](https://forms.office.com/Pages/ResponsePage.aspx?id=YYHxF9cgRkeH_VD-PjtmGdxioYGoFbFIkZuB_q8Fb3VUQkoxRVQzTFdUMzNMVzczWVM5VTc3QTY3MC4u) to help us understand how people interact with weather and climate data, uncover challenges and explore opportunities. + +## How to cite +Met Office global deterministic 10km forecast was accessed on DATE from _insert Planetary Computer link_. + +## License +British Crown copyright 2023-2025, the Met Office, is licensed under [CC BY-SA](https://creativecommons.org/licenses/by-sa/4.0/deed.en). + +## Providers +[Met Office](https://www.metoffice.gov.uk/) +See all datasets managed by [Met Office.](https://registry.opendata.aws/?search=managedBy:met%20office) + +## Contact +[servicedesk@metoffice.gov.uk](mailto:servicedesk@metoffice.gov.uk). Service desk is only available Mon – Fri, 09:00 until 17:00 UTC (-1 hour during BST). As a non-operational service we aim to respond to any service support enquiries within 3-5 business days. \ No newline at end of file diff --git a/datasets/met-office/collection/met-office-global-deterministic-near-surface-level/template.json b/datasets/met-office/collection/met-office-global-deterministic-near-surface-level/template.json index 43fedb91..899eb617 100644 --- a/datasets/met-office/collection/met-office-global-deterministic-near-surface-level/template.json +++ b/datasets/met-office/collection/met-office-global-deterministic-near-surface-level/template.json @@ -7,18 +7,14 @@ "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", "type": "text/html", "title": "Creative Commons Attribution-ShareAlike 4.0" - }, - { - "rel": "cite-as", - "title": "British Crown copyright 2023-2025, the Met Office, is licensed under CC BY-SA" - }, + }, { - "rel": "describedBy", + "rel": "describedby", "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", "title": "Met Office Dataset Documentation" } ], - "title": "Met Office Global Deterministic Near Surface Level", + "title": "Near-surface level collection Met Office global deterministic 10km forecast", "assets": { "thumbnail": { "href": "", @@ -26,7 +22,7 @@ "roles": [ "thumbnail" ], - "title": "Met Office Global Deterministic Near Surface Level Thumbnail" + "title": "Near-surface level collection Met Office global deterministic 10km forecast thumbnail" } }, "extent": { @@ -43,7 +39,7 @@ "temporal": { "interval": [ [ - "2 years ago", + "2023-12-15T00:00:00Z", null ] ] @@ -51,9 +47,20 @@ }, "license": "proprietary", "keywords": [ - "MetOffice", + "Met Office", "Global", - "Cloud" + "Forecast", + "Cloud", + "Fog", + "Heat Flux", + "Precipitation", + "Pressure", + "Radiation", + "Rainfall", + "Humidity", + "Snow", + "Temperature", + "Wind" ], "providers": [ { @@ -74,11 +81,21 @@ ] } ], - "description": "The Met Office Global Deterministic Near Surface Level dataset provides a composite of weather parameters generated for near surface levels.", "item_assets": { "fog_fraction_at_screen_level": { "type": "application/netcdf", "title": "Fog fraction at screen level", + "description": "Here fog means a visibility of 1000 m or lower. The reduction in visibility is caused water droplets or minute ice crystals forming close to the surface. This quantity represents the fraction of horizontal grid square occupied by fog. An alternative interpretation is that this represents the fractional probability of fog being present at any location in the grid square.", + "unit": "1", + "roles": [ + "data" + ] + }, + "height_of_orography": { + "type": "application/netcdf", + "title": "Height of orography", + "description": "Altitude or (geometric) height above the geoid of the surface (ground). It is worth remembering that orographic height can be negative, particularly in some of the inland sea areas (e.g. Caspian Sea at -27m and Dead Sea at -430m)", + "unit": "m", "roles": [ "data" ] @@ -86,6 +103,8 @@ "latent_heat_flux_at_surface_mean-PT01H": { "type": "application/netcdf", "title": "Hourly latent heat flux at surface mean", + "description": "The latent heat flux, averaged over a model time step, at the surface.", + "unit": "W/m2", "roles": [ "data" ] @@ -93,6 +112,8 @@ "latent_heat_flux_at_surface_mean-PT03H": { "type": "application/netcdf", "title": "Three hourly latent heat flux at surface mean", + "description": "The latent heat flux, averaged over a model time step, at the surface.", + "unit": "W/m2", "roles": [ "data" ] @@ -100,6 +121,8 @@ "latent_heat_flux_at_surface_mean-PT06H": { "type": "application/netcdf", "title": "Six hourly latent heat flux at surface mean", + "description": "The latent heat flux, averaged over a model time step, at the surface.", + "unit": "W/m2", "roles": [ "data" ] @@ -107,6 +130,8 @@ "precipitation_accumulation-PT01H": { "type": "application/netcdf", "title": "Hourly precipitation accumulation", + "description": "Implied depth of the layer of liquid water which has been deposited on the surface in the previous hour. This includes rain, snow and hail, with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", + "unit": "m", "roles": [ "data" ] @@ -114,6 +139,8 @@ "precipitation_accumulation-PT03H": { "type": "application/netcdf", "title": "Three hourly precipitation accumulation", + "description": "Implied depth of the layer of liquid water which has been deposited on the surface in the previous 3 hours. This includes rain, snow and hail, with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", + "unit": "m", "roles": [ "data" ] @@ -121,6 +148,8 @@ "precipitation_accumulation-PT06H": { "type": "application/netcdf", "title": "Six hourly precipitation accumulation", + "description": "Implied depth of the layer of liquid water which has been deposited on the surface in the previous 6 hours. This includes rain, snow and hail, with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", + "unit": "m", "roles": [ "data" ] @@ -128,6 +157,8 @@ "precipitation_rate": { "type": "application/netcdf", "title": "Precipitation rate", + "description": "Instantaneous rate at which liquid water (as a depth) was being deposited on the surface. This includes rain, snow and hail with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", + "unit": "m/s", "roles": [ "data" ] @@ -135,6 +166,8 @@ "pressure_at_mean_sea_level": { "type": "application/netcdf", "title": "Pressure at mean sea level", + "description": "Air pressure at mean sea level which is close to the geoid in sea areas. Air pressure at sea level is the quantity often abbreviated as MSLP or PMSL.", + "unit": "Pa", "roles": [ "data" ] @@ -142,6 +175,8 @@ "radiation_flux_in_longwave_downward_at_surface": { "type": "application/netcdf", "title": "Radiation flux in longwave downward at surface", + "description": "Longwave radiation at the surface from above directed at the ground.", + "unit": "W/m2", "roles": [ "data" ] @@ -149,6 +184,8 @@ "radiation_flux_in_shortwave_direct_downward_at_surface": { "type": "application/netcdf", "title": "Radiation flux in shortwave direct downward at surface", + "description": "Direct component of shortwave radiation at the surface from above directed at the ground.", + "unit": "W/m2", "roles": [ "data" ] @@ -156,6 +193,8 @@ "radiation_flux_in_shortwave_total_downward_at_surface": { "type": "application/netcdf", "title": "Radiation flux in shortwave total downward at surface", + "description": "Total shortwave radiation at the surface from above directed at the ground.", + "unit": "W/m2", "roles": [ "data" ] @@ -163,6 +202,8 @@ "radiation_flux_in_uv_downward_at_surface": { "type": "application/netcdf", "title": "Radiation flux in uv downward at surface", + "description": "Ultaviolet radiation at the surface from above directed at the ground.", + "unit": "W/m2", "roles": [ "data" ] @@ -170,6 +211,8 @@ "rainfall_accumulation-PT01H": { "type": "application/netcdf", "title": "Hourly rainfall accumulation", + "description": "Implied depth of the rain produced by the model precipitation scheme which has been deposited on the surface in the previous hour. This excludes the rain produced by the model convection scheme.", + "unit": "m", "roles": [ "data" ] @@ -177,6 +220,8 @@ "rainfall_accumulation-PT03H": { "type": "application/netcdf", "title": "Three hourly rainfall accumulation", + "description": "Implied depth of the rain produced by the model precipitation scheme which has been deposited on the surface in the previous 3 hours. This excludes the rain produced by the model convection scheme.", + "unit": "m", "roles": [ "data" ] @@ -184,6 +229,8 @@ "rainfall_accumulation-PT06H": { "type": "application/netcdf", "title": "Six hourly rainfall accumulation", + "description": "Implied depth of the rain produced by the model precipitation scheme which has been deposited on the surface in the previous 6 hours. This excludes the rain produced by the model convection scheme.", + "unit": "m", "roles": [ "data" ] @@ -191,6 +238,8 @@ "rainfall_rate": { "type": "application/netcdf", "title": "Rainfall rate", + "description": "Instantaneous rate at which rain (as a depth) was being produced by the model precipitation scheme and deposited on the surface. This excludes the rain produced by the model convection scheme.", + "unit": "m/s", "roles": [ "data" ] @@ -198,6 +247,8 @@ "rainfall_rate_from_convection": { "type": "application/netcdf", "title": "Rainfall rate from convection", + "description": "Instantaneous rate at which rain (as a depth) was produced by the model convection scheme and deposited on the surface. The rainfall rate can be added to this to get the total rainfall rate.", + "unit": "m/s", "roles": [ "data" ] @@ -205,6 +256,8 @@ "rainfall_rate_from_convection_max-PT01H": { "type": "application/netcdf", "title": "Hourly rainfall rate from convection max", + "description": "Maximum instantaneous rate at which rain (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous hour.", + "unit": "m/s", "roles": [ "data" ] @@ -212,6 +265,8 @@ "rainfall_rate_from_convection_max-PT03H": { "type": "application/netcdf", "title": "Three hourly rainfall rate from convection max", + "description": "Maximum instantaneous rate at which rain (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 3 hours.", + "unit": "m/s", "roles": [ "data" ] @@ -219,6 +274,8 @@ "rainfall_rate_from_convection_max-PT06H": { "type": "application/netcdf", "title": "Six hourly rainfall rate from convection max", + "description": "Maximum instantaneous rate at which rain (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 6 hours.", + "unit": "m/s", "roles": [ "data" ] @@ -226,6 +283,8 @@ "relative_humidity_at_screen_level": { "type": "application/netcdf", "title": "Relative humidity at screen level", + "description": "Fractional relative humidity (ratio of the partial pressure of water vapour to the equilibrium vapour pressure of water) at screen level (1.5m above the surface.)", + "unit": "1", "roles": [ "data" ] @@ -233,6 +292,8 @@ "snow_depth_water_equivalent": { "type": "application/netcdf", "title": "Snow depth water equivalent", + "description": "Liquid water equivalent (LWE) depth of the snow lying on the surface (ground). Typically water is 10 times as dense as snow, so multiplying by 10 gives an approximate depth of the snow, although wet snow can be significantly denser and powder snow much less dense.", + "unit": "m", "roles": [ "data" ] @@ -240,6 +301,8 @@ "snowfall_rate": { "type": "application/netcdf", "title": "Snowfall rate", + "description": "Instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) was produced by the model precipitation scheme and deposited on the surface. This excludes the snow produced by the the model convection scheme.", + "unit": "m/s", "roles": [ "data" ] @@ -247,6 +310,8 @@ "snowfall_rate_from_convection": { "type": "application/netcdf", "title": "Snowfall rate from convection", + "description": "Instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface. The snowfall rate can be added to this to get the total snowfall rate.", + "unit": "m/s", "roles": [ "data" ] @@ -254,6 +319,8 @@ "snowfall_rate_from_convection_max-PT01H": { "type": "application/netcdf", "title": "Hourly snowfall rate from convection max", + "description": "Maximum instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous hour.", + "unit": "m/s", "roles": [ "data" ] @@ -261,6 +328,8 @@ "snowfall_rate_from_convection_max-PT03H": { "type": "application/netcdf", "title": "Three hourly snowfall rate from convection max", + "description": "Maximum instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 3 hours.", + "unit": "m/s", "roles": [ "data" ] @@ -268,6 +337,8 @@ "snowfall_rate_from_convection_max-PT06H": { "type": "application/netcdf", "title": "Six hourly snowfall rate from convection max", + "description": "Maximum instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 6 hours.", + "unit": "m/s", "roles": [ "data" ] @@ -275,6 +346,8 @@ "snowfall_rate_from_convection_mean-PT01H": { "type": "application/netcdf", "title": "Hourly snowfall rate from convection mean", + "description": "Mean rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous hour.", + "unit": "m/s", "roles": [ "data" ] @@ -282,6 +355,8 @@ "snowfall_rate_from_convection_mean-PT03H": { "type": "application/netcdf", "title": "Three hourly snowfall rate from convection mean", + "description": "Mean rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 3 hours.", + "unit": "m/s", "roles": [ "data" ] @@ -289,6 +364,8 @@ "snowfall_rate_from_convection_mean-PT06H": { "type": "application/netcdf", "title": "Six hourly snowfall rate from convection mean", + "description": "Mean rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 6 hours.", + "unit": "m/s", "roles": [ "data" ] @@ -296,6 +373,8 @@ "temperature_at_screen_level": { "type": "application/netcdf", "title": "Temperature at screen level", + "description": "Instantaneous air temperature at screen level (1.5m).", + "unit": "K", "roles": [ "data" ] @@ -303,6 +382,8 @@ "temperature_at_screen_level_max-PT01H": { "type": "application/netcdf", "title": "Hourly temperature at screen level max", + "description": "Maximum instantaneous air temperature at screen level (1.5m) in the previous hour.", + "unit": "K", "roles": [ "data" ] @@ -310,6 +391,8 @@ "temperature_at_screen_level_max-PT03H": { "type": "application/netcdf", "title": "Three hourly temperature at screen level max", + "description": "Maximum instantaneous air temperature at screen level (1.5m) in the previous 3 hours.", + "unit": "K", "roles": [ "data" ] @@ -317,6 +400,8 @@ "temperature_at_screen_level_max-PT06H": { "type": "application/netcdf", "title": "Six hourly temperature at screen level max", + "description": "Maximum instantaneous air temperature at screen level (1.5m) in the previous 6 hours.", + "unit": "K", "roles": [ "data" ] @@ -324,6 +409,8 @@ "temperature_at_screen_level_min-PT01H": { "type": "application/netcdf", "title": "Hourly temperature at screen level min", + "description": "Minimum instantaneous air temperature at screen level (1.5m) in the previous hour.", + "unit": "K", "roles": [ "data" ] @@ -331,6 +418,8 @@ "temperature_at_screen_level_min-PT03H": { "type": "application/netcdf", "title": "Three hourly temperature at screen level min", + "description": "Minimum instantaneous air temperature at screen level (1.5m) in the previous 3 hours.", + "unit": "K", "roles": [ "data" ] @@ -338,6 +427,8 @@ "temperature_at_screen_level_min-PT06H": { "type": "application/netcdf", "title": "Six hourly temperature at screen level min", + "description": "Minimum instantaneous air temperature at screen level (1.5m) in the previous 6 hours.", + "unit": "K", "roles": [ "data" ] @@ -345,6 +436,8 @@ "temperature_at_surface": { "type": "application/netcdf", "title": "Temperature at surface", + "description": "Temperature at the surface interface between the air and the ground.", + "unit": "K", "roles": [ "data" ] @@ -352,6 +445,8 @@ "temperature_of_dew_point_at_screen_level": { "type": "application/netcdf", "title": "Dew point temperature at screen level", + "description": "Instantaneous dew point temperature (temperature at which a parcel of air reaches saturation upon being cooled at constant pressure and specific humidity) at screen level (1.5m).", + "unit": "K", "roles": [ "data" ] @@ -359,6 +454,8 @@ "visibility_at_screen_level": { "type": "application/netcdf", "title": "Visibility at screen level", + "description": "Horizontal distance at which something can be seen horizontally from screen level (1.5m).", + "unit": "m", "roles": [ "data" ] @@ -366,6 +463,8 @@ "wind_direction_at_10m": { "type": "application/netcdf", "title": "Wind direction at 10m", + "description": "Wind at 10m above the surface is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. In meteorological reports the direction of the wind vector is given as the direction from which it is blowing. Note: This with wind speed at 10m replaces x wind at 10m and y wind at 10m.", + "unit": "degrees", "roles": [ "data" ] @@ -373,6 +472,8 @@ "wind_gust_at_10m": { "type": "application/netcdf", "title": "Wind gust at 10m", + "description": "Diagnosed instantaneous wind gust at 10m. This can be considered as the extreme rather than steady wind speed that might be experienced at this specific time.", + "unit": "m/s", "roles": [ "data" ] @@ -380,6 +481,8 @@ "wind_gust_at_10m_max-PT01H": { "type": "application/netcdf", "title": "Hourly wind gust at 10m max", + "description": "Maximum diagnosed instantaneous wind gust at 10m in the previous hour. This can be considered as the extreme wind speed that might be experienced in this period.", + "unit": "m/s", "roles": [ "data" ] @@ -387,6 +490,8 @@ "wind_gust_at_10m_max-PT03H": { "type": "application/netcdf", "title": "Three hourly wind gust at 10m max", + "description": "Maximum diagnosed instantaneous wind gust at 10m in the previous 3 hours. This can be considered as the extreme wind speed that might be experienced in this period.", + "unit": "m/s", "roles": [ "data" ] @@ -394,6 +499,8 @@ "wind_gust_at_10m_max-PT06H": { "type": "application/netcdf", "title": "Six hourly wind gust at 10m max", + "description": "Maximum diagnosed instantaneous wind gust at 10m in the previous 6 hours. This can be considered as the extreme wind speed that might be experienced in this period.", + "unit": "m/s", "roles": [ "data" ] @@ -401,6 +508,8 @@ "wind_speed_at_10m": { "type": "application/netcdf", "title": "Wind speed at 10m", + "description": "Wind at 10m above the surface is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. The speed is the magnitude of velocity.", + "unit": "m/s", "roles": [ "data" ] diff --git a/datasets/met-office/collection/met-office-uk-deterministic-height-level/description.md b/datasets/met-office/collection/met-office-uk-deterministic-height-level/description.md new file mode 100644 index 00000000..bc01689e --- /dev/null +++ b/datasets/met-office/collection/met-office-uk-deterministic-height-level/description.md @@ -0,0 +1,59 @@ +This collection offers 4 parameters at 33 available height levels (5m to 6000m) from the Met Office UKV 2km deterministic forecast. This is a high-resolution gridded weather forecast for the UK, with a resolution of 0.018 degrees, projected on to a 2km horizontal grid. The data is available as NetCDF files. + +Available height levels, in metres (m) above ground, are: +* 5.0 10.0 20.0 30.0 50.0 75.0 100.0 150.0 200.0 250.0 300.0 400.0 500.0 600.0 700.0 800.0 1000.0 1250.0 1500.0 1750.0 2000.0 2250.0 2500.0 2750.0 3000.0 3250.0 3500.0 3750.0 4000.0 4500.0 5000.0 5500.0 6000.0 + +## Coverage area +The forecast covers the UK and Ireland, with the following latitude and longitude coordinates for each corner of the included area: +* Southwest: 48.8643°N, 10.6734°W +* Northwest: 61.3322°N, 13.7254°W +* Northeast: 61.6102°N, 4.3408°E +* Southeast: 49.0594°N, 2.4654°E + +## Timesteps +The following time steps are available: +* every hour from 0 to 54 hours (for most parameters, see parameter table for exceptions) +* every 3 hours from 57 to 120 hours + +## Update frequency +There are three lengths of model run, each with its own update frequency: +* The Nowcast-length runs forecast the next 12 hours and are at 0100, 0200, 0400, 0500, 0700, 0800, 1000, 1100, 1300, 1400, 1600, 1700, 1900, 2000, 2200 and 2300 UTC. +* The Short-length runs forecast the next 54 hours and are at 0000, 0600, 0900, 1200, 1800 and 2100 UTC. +* The Medium-Length runs forecast the next 120 hours and are at 0300 and 1500 UTC. + +## Archive length and latency + +As of December 2025, the archive contains data from December 2023 onwards. Forecasts will continue to be available for at least two years from their data date. + +The data is typically available approximately 3-3.5 hours after the model run time. + +## Technical specs +The data is available as NetCDF files. NetCDF (Network Common Data Form) is an interface for array-orientated data access and a library that supports the interface. It is composed of 3 components: +* variables store the data +* dimensions give relevant dimension information for the variables +* attributes provide auxiliary information about the variables or dataset itself + +NetCDF is used within the atmospheric and oceanic science communities and is network transparent, allowing for it to be accessed by computers that store integers, characters and floating-point numbers. + +Iris supports NetCDF files through reading, writing and handling. Iris implements a model based on the CF conventions, giving a format-agnostic interface for working with data. + +[Find further support on using Iris with NetCDF files.](https://scitools-iris.readthedocs.io/en/stable/) + +## Help us improve the data services we offer + +[Join the Met Office research panel](https://forms.office.com/Pages/ResponsePage.aspx?id=YYHxF9cgRkeH_VD-PjtmGdxioYGoFbFIkZuB_q8Fb3VUQkoxRVQzTFdUMzNMVzczWVM5VTc3QTY3MC4u) to help us understand how people interact with weather and climate data, uncover challenges and explore opportunities. + +## How to cite + +UKV 2km deterministic forecast was accessed on DATE from _insert Planetary Computer link_. + +## License + +British Crown copyright 2023-2025, the Met Office, is licensed under [CC BY-SA](https://creativecommons.org/licenses/by-sa/4.0/deed.en). + +## Providers +[Met Office](https://www.metoffice.gov.uk/) +See all datasets managed by [Met Office.](https://registry.opendata.aws/?search=managedBy:met%20office) + +## Contact +[servicedesk@metoffice.gov.uk](mailto:servicedesk@metoffice.gov.uk). Service desk is only available Mon – Fri, 09:00 until 17:00 UTC (-1 hour during BST). As a non-operational service we aim to respond to any service support enquiries within 3-5 business days. \ No newline at end of file diff --git a/datasets/met-office/collection/met-office-uk-deterministic-height-level/template.json b/datasets/met-office/collection/met-office-uk-deterministic-height-level/template.json index 07f7a32e..6870f66c 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-height-level/template.json +++ b/datasets/met-office/collection/met-office-uk-deterministic-height-level/template.json @@ -7,18 +7,14 @@ "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", "type": "text/html", "title": "Creative Commons Attribution-ShareAlike 4.0" - }, - { - "rel": "cite-as", - "title": "British Crown copyright 2023-2025, the Met Office, is licensed under CC BY-SA" }, { - "rel": "describedBy", + "rel": "describedby", "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", "title": "Met Office Dataset Documentation" } ], - "title": "Met Office UK Deterministic Height Level", + "title": "Height levels collection Met Office UKV 2km deterministic forecast", "assets": { "thumbnail": { "href": "", @@ -26,24 +22,24 @@ "roles": [ "thumbnail" ], - "title": "Met Office UK Deterministic Height Level Thumbnail" + "title": "Height levels collection Met Office UKV 2km deterministic forecast thumbnail" } }, "extent": { "spatial": { "bbox": [ [ - -24.51, - 44.52, - 15.28, - 61.83 + 15, + 50, + 5, + 62 ] ] }, "temporal": { "interval": [ [ - "2 years ago", + "2023-12-15T00:00:00Z", null ] ] @@ -51,9 +47,14 @@ }, "license": "proprietary", "keywords": [ - "MetOffice", + "Met Office", + "Weather", + "Forecast", "UK", - "Cloud" + "Cloud", + "Temperature", + "Wind", + "Height" ], "providers": [ { @@ -74,32 +75,39 @@ ] } ], - "description": "The Met Office UK Deterministic Height Level dataset provides a composite of weather parameters generated for specific atmospheric height levels.", "item_assets": { "cloud_amount_on_height_levels": { "type": "application/netcdf", - "title": "Cloud amount on height levels", + "title": "Cloud amount on height levels", + "description": "Fraction of horizontal grid square occupied by cloud in layers centred on height levels.", + "unit": "1", "roles": [ "data" ] }, "temperature_on_height_levels": { "type": "application/netcdf", - "title": "Temperature on height levels", + "title": "Temperature on height levels", + "description": "Air temperature on height levels.", + "unit": "K", "roles": [ "data" ] }, "wind_direction_on_height_levels": { "type": "application/netcdf", - "title": "Wind direction on height levels", + "title": "Wind direction on height levels", + "description": "Wind direction on height levels is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. In meteorological reports the direction of the wind vector is given as the direction from which it is blowing.", + "unit": "degrees", "roles": [ "data" ] }, "wind_speed_on_height_levels": { "type": "application/netcdf", - "title": "Wind speed on height levels", + "title": "Wind speed on height levels", + "description": "Wind speed on height levels is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. The speed is the magnitude of velocity.", + "unit": "m/s", "roles": [ "data" ] diff --git a/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/description.md b/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/description.md index 2dd933ce..b8889518 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/description.md +++ b/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/description.md @@ -2,31 +2,30 @@ This collection offers 35 parameters at near-surface level from the Met Office U The data is available as NetCDF files. It's offered on a free, unsupported basis, so we don’t recommend using it for any critical business purposes. -## Coverage area +## Coverage area The forecast covers the UK and Ireland, with the following latitude and longitude coordinates for each corner of the included area: * Southwest: 48.8643°N, 10.6734°W * Northwest: 61.3322°N, 13.7254°W * Northeast: 61.6102°N, 4.3408°E * Southeast: 49.0594°N, 2.4654°E -## Timesteps +## Timesteps The following time steps are available: * every hour from 0 to 54 hours (for most parameters, see parameter table for exceptions) * every 3 hours from 57 to 120 hours -## Update frequency +## Update frequency There are three lengths of model run, each with its own update frequency: * The Nowcast-length runs forecast the next 12 hours and are at 0100, 0200, 0400, 0500, 0700, 0800, 1000, 1100, 1300, 1400, 1600, 1700, 1900, 2000, 2200 and 2300 UTC. * The Short-length runs forecast the next 54 hours and are at 0000, 0600, 0900, 1200, 1800 and 2100 UTC. * The Medium-Length runs forecast the next 120 hours and are at 0300 and 1500 UTC. ## Archive length and latency - -As of January 2026, the archive contains data from January 2024 onwards. Forecasts will continue to be available for at least two years from their data date. +As of December 2025, the archive contains data from December 2023 onwards. Forecasts will continue to be available for at least two years from their data date. The data is typically available approximately 3-3.5 hours after the model run time. -## Technical specs +## Technical specs The data is available as NetCDF files. NetCDF (Network Common Data Form) is an interface for array-orientated data access and a library that supports the interface. It is composed of 3 components: * variables store the data * dimensions give relevant dimension information for the variables @@ -38,21 +37,18 @@ Iris supports NetCDF files through reading, writing and handling. Iris implement [Find further support on using Iris with NetCDF files.](https://scitools-iris.readthedocs.io/en/stable/) -## Help us improve the data services we offer - +## Help us improve the data services we offer [Join the Met Office research panel](https://forms.office.com/Pages/ResponsePage.aspx?id=YYHxF9cgRkeH_VD-PjtmGdxioYGoFbFIkZuB_q8Fb3VUQkoxRVQzTFdUMzNMVzczWVM5VTc3QTY3MC4u) to help us understand how people interact with weather and climate data, uncover challenges and explore opportunities. -## How to cite - +## How to cite UKV 2km deterministic forecast was accessed on DATE from _insert Planetary Computer link_. ## License - British Crown copyright 2023-2025, the Met Office, is licensed under [CC BY-SA](https://creativecommons.org/licenses/by-sa/4.0/deed.en). -## Providers +## Providers [Met Office](https://www.metoffice.gov.uk/) See all datasets managed by [Met Office.](https://registry.opendata.aws/?search=managedBy:met%20office) -## Contact +## Contact [servicedesk@metoffice.gov.uk](mailto:servicedesk@metoffice.gov.uk). Service desk is only available Mon – Fri, 09:00 until 17:00 UTC (-1 hour during BST). As a non-operational service we aim to respond to any service support enquiries within 3-5 business days. \ No newline at end of file diff --git a/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json b/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json index 221f3cb9..46d262b0 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json +++ b/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json @@ -9,7 +9,7 @@ "title": "Creative Commons Attribution-ShareAlike 4.0" }, { - "rel": "describedBy", + "rel": "describedby", "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", "title": "Met Office Dataset Documentation" } @@ -39,7 +39,7 @@ "temporal": { "interval": [ [ - "2024-01-01T00:00:00Z", + "2023-12-15T00:00:00Z", null ] ] diff --git a/datasets/met-office/collection/met-office-uk-deterministic-pressure-level/description.md b/datasets/met-office/collection/met-office-uk-deterministic-pressure-level/description.md new file mode 100644 index 00000000..b9aeccd7 --- /dev/null +++ b/datasets/met-office/collection/met-office-uk-deterministic-pressure-level/description.md @@ -0,0 +1,62 @@ +This collection offers 7 parameters at 33 available pressure levels (from 100000Pa to 1000Pa) from the Met Office UKV 2km deterministic forecast. This is a high-resolution gridded weather forecast for the UK, with a resolution of 0.018 degrees, projected on to a 2km horizontal grid. + +The data is available as NetCDF files. It's offered on a free, unsupported basis, so we don’t recommend using it for any critical business purposes. + +## Pressure Levels +Available pressure levels, in Pascals (Pa), are: +* 100000.0 97500.0 95000.0 92500.0 90000.0 85000.0 80000.0 75000.0 70000.0 65000.0 60000.0 55000.0 50000.0 45000.0 40000.0 37500.0 35000.0 32500.0 30000.0 27500.0 25000.0 22500.0 20000.0 17500.0 15000.0 12500.0 10000.0 7000.0 5000.0 4000.0 3000.0 2000.0 1000.0 + +## Coverage area +The forecast covers the UK and Ireland, with the following latitude and longitude coordinates for each corner of the included area: +* Southwest: 48.8643°N, 10.6734°W +* Northwest: 61.3322°N, 13.7254°W +* Northeast: 61.6102°N, 4.3408°E +* Southeast: 49.0594°N, 2.4654°E + +## Timesteps +The following time steps are available: +* every hour from 0 to 54 hours (for most parameters, see parameter table for exceptions) +* every 3 hours from 57 to 120 hours + +## Update frequency +There are three lengths of model run, each with its own update frequency: +* The Nowcast-length runs forecast the next 12 hours and are at 0100, 0200, 0400, 0500, 0700, 0800, 1000, 1100, 1300, 1400, 1600, 1700, 1900, 2000, 2200 and 2300 UTC. +* The Short-length runs forecast the next 54 hours and are at 0000, 0600, 0900, 1200, 1800 and 2100 UTC. +* The Medium-Length runs forecast the next 120 hours and are at 0300 and 1500 UTC. + +## Archive length and latency + +As of December 2025, the archive contains data from December 2023 onwards. Forecasts will continue to be available for at least two years from their data date. + +The data is typically available approximately 3-3.5 hours after the model run time. + +## Technical specs +The data is available as NetCDF files. NetCDF (Network Common Data Form) is an interface for array-orientated data access and a library that supports the interface. It is composed of 3 components: +* variables store the data +* dimensions give relevant dimension information for the variables +* attributes provide auxiliary information about the variables or dataset itself + +NetCDF is used within the atmospheric and oceanic science communities and is network transparent, allowing for it to be accessed by computers that store integers, characters and floating-point numbers. + +Iris supports NetCDF files through reading, writing and handling. Iris implements a model based on the CF conventions, giving a format-agnostic interface for working with data. + +[Find further support on using Iris with NetCDF files.](https://scitools-iris.readthedocs.io/en/stable/) + +## Help us improve the data services we offer + +[Join the Met Office research panel](https://forms.office.com/Pages/ResponsePage.aspx?id=YYHxF9cgRkeH_VD-PjtmGdxioYGoFbFIkZuB_q8Fb3VUQkoxRVQzTFdUMzNMVzczWVM5VTc3QTY3MC4u) to help us understand how people interact with weather and climate data, uncover challenges and explore opportunities. + +## How to cite + +UKV 2km deterministic forecast was accessed on DATE from _insert Planetary Computer link_. + +## License + +British Crown copyright 2023-2025, the Met Office, is licensed under [CC BY-SA](https://creativecommons.org/licenses/by-sa/4.0/deed.en). + +## Providers +[Met Office](https://www.metoffice.gov.uk/) +See all datasets managed by [Met Office.](https://registry.opendata.aws/?search=managedBy:met%20office) + +## Contact +[servicedesk@metoffice.gov.uk](mailto:servicedesk@metoffice.gov.uk). Service desk is only available Mon – Fri, 09:00 until 17:00 UTC (-1 hour during BST). As a non-operational service we aim to respond to any service support enquiries within 3-5 business days. \ No newline at end of file diff --git a/datasets/met-office/collection/met-office-uk-deterministic-pressure-level/template.json b/datasets/met-office/collection/met-office-uk-deterministic-pressure-level/template.json index 6b027602..f4df35a9 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-pressure-level/template.json +++ b/datasets/met-office/collection/met-office-uk-deterministic-pressure-level/template.json @@ -9,16 +9,12 @@ "title": "Creative Commons Attribution-ShareAlike 4.0" }, { - "rel": "cite-as", - "title": "British Crown copyright 2023-2025, the Met Office, is licensed under CC BY-SA" - }, - { - "rel": "describedBy", + "rel": "describedby", "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", "title": "Met Office Dataset Documentation" } ], - "title": "Met Office UK Deterministic Pressure Level", + "title": "Pressure levels collection Met Office UKV 2km deterministic forecast", "assets": { "thumbnail": { "href": "", @@ -26,7 +22,7 @@ "roles": [ "thumbnail" ], - "title": "Met Office UK Deterministic Pressure Level Thumbnail" + "title": "Pressure levels collection Met Office UKV 2km deterministic forecast Thumbnail" } }, "extent": { @@ -43,7 +39,7 @@ "temporal": { "interval": [ [ - "2 years ago", + "2023-12-15T00:00:00Z", null ] ] @@ -51,9 +47,14 @@ }, "license": "proprietary", "keywords": [ - "MetOffice", + "Met Office", + "Weather", + "Forecast", "UK", - "Cloud" + "Temperature", + "Wind", + "Pressure", + "Humidity" ], "providers": [ { @@ -74,18 +75,30 @@ ] } ], - "description": "The Met Office UK Deterministic Pressure Level dataset provides a composite of weather parameters generated for specific atmospheric pressure levels.", "item_assets": { + "geopotential_height_on_pressure_levels ": { + "type": "application/netcdf", + "title": "Geopotential height of the pressure levels", + "description": "Note: from January 2026, this parameter will replace height_ASL_on_pressure_levels.", + "unit": "m", + "roles": [ + "data" + ] + }, "height_ASL_on_pressure_levels": { "type": "application/netcdf", - "title": "Height above sea level on pressure levels", + "title": "Height above sea level of the pressure levels", + "description": "Note: from January 2026, this parameter will be replaced by geopotential_height_on_pressure_levels.", + "unit": "m", "roles": [ "data" ] }, "relative_humidity_on_pressure_levels": { "type": "application/netcdf", - "title": "Relative humidity on pressure levels", + "title": "Fractional relative humidity on pressure levels.", + "description": "Ratio of the partial pressure of water vapour to the equilibrium vapour pressure of water.", + "unit": "1", "roles": [ "data" ] @@ -93,13 +106,26 @@ "temperature_on_pressure_levels": { "type": "application/netcdf", "title": "Temperature on pressure levels", + "description": "Air temperature on pressure levels.", + "unit": "K", "roles": [ "data" ] }, + "wet_bulb_potential_temperature_on_pressure_levels": { + "type": "application/netcdf", + "title": "Wet bulb potential temperature on pressure levels", + "description": "Wet bulb potential temperature is defined as the temperature that a parcel of air would have if it were brought down to the standard pressure of 1000hPa following a saturated adiabatic lapse rate. Available on levels: 85000.0, 70000.0, 50000.0 Pa", + "unit": "K", + "roles": [ + "data" + ] + }, "wind_direction_on_pressure_levels": { "type": "application/netcdf", "title": "Wind direction on pressure levels", + "description": "Wind direction on pressure levels is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. In meteorological reports the direction of the wind vector is given as the direction from which it is blowing.", + "unit": "degrees", "roles": [ "data" ] @@ -107,6 +133,8 @@ "wind_speed_on_pressure_levels": { "type": "application/netcdf", "title": "Wind speed on pressure levels", + "description": "Wind speed on pressure levels is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. The speed is the magnitude of velocity.", + "unit": "m/s", "roles": [ "data" ] diff --git a/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere-level/description.md b/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere-level/description.md new file mode 100644 index 00000000..230f82c8 --- /dev/null +++ b/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere-level/description.md @@ -0,0 +1,56 @@ +This collection offers 11 whole-atmosphere parameters from the Met Office UKV 2km deterministic forecast. This is a high-resolution gridded weather forecast for the UK, with a resolution of 0.018 degrees, projected on to a 2km horizontal grid. The data is available as NetCDF files. + +## Coverage area +The forecast covers the UK and Ireland, with the following latitude and longitude coordinates for each corner of the included area: +* Southwest: 48.8643°N, 10.6734°W +* Northwest: 61.3322°N, 13.7254°W +* Northeast: 61.6102°N, 4.3408°E +* Southeast: 49.0594°N, 2.4654°E + +## Timesteps +The following time steps are available: +* every hour from 0 to 54 hours (for most parameters, see parameter table for exceptions) +* every 3 hours from 57 to 120 hours + +## Update frequency +There are three lengths of model run, each with its own update frequency: +* The Nowcast-length runs forecast the next 12 hours and are at 0100, 0200, 0400, 0500, 0700, 0800, 1000, 1100, 1300, 1400, 1600, 1700, 1900, 2000, 2200 and 2300 UTC. +* The Short-length runs forecast the next 54 hours and are at 0000, 0600, 0900, 1200, 1800 and 2100 UTC. +* The Medium-Length runs forecast the next 120 hours and are at 0300 and 1500 UTC. + +## Archive length and latency + +As of December 2025, the archive contains data from December 2023 onwards. Forecasts will continue to be available for at least two years from their data date. + +The data is typically available approximately 3-3.5 hours after the model run time. + +## Technical specs +The data is available as NetCDF files. NetCDF (Network Common Data Form) is an interface for array-orientated data access and a library that supports the interface. It is composed of 3 components: +* variables store the data +* dimensions give relevant dimension information for the variables +* attributes provide auxiliary information about the variables or dataset itself + +NetCDF is used within the atmospheric and oceanic science communities and is network transparent, allowing for it to be accessed by computers that store integers, characters and floating-point numbers. + +Iris supports NetCDF files through reading, writing and handling. Iris implements a model based on the CF conventions, giving a format-agnostic interface for working with data. + +[Find further support on using Iris with NetCDF files.](https://scitools-iris.readthedocs.io/en/stable/) + +## Help us improve the data services we offer + +[Join the Met Office research panel](https://forms.office.com/Pages/ResponsePage.aspx?id=YYHxF9cgRkeH_VD-PjtmGdxioYGoFbFIkZuB_q8Fb3VUQkoxRVQzTFdUMzNMVzczWVM5VTc3QTY3MC4u) to help us understand how people interact with weather and climate data, uncover challenges and explore opportunities. + +## How to cite + +UKV 2km deterministic forecast was accessed on DATE from _insert Planetary Computer link_. + +## License + +British Crown copyright 2023-2025, the Met Office, is licensed under [CC BY-SA](https://creativecommons.org/licenses/by-sa/4.0/deed.en). + +## Providers +[Met Office](https://www.metoffice.gov.uk/) +See all datasets managed by [Met Office.](https://registry.opendata.aws/?search=managedBy:met%20office) + +## Contact +[servicedesk@metoffice.gov.uk](mailto:servicedesk@metoffice.gov.uk). Service desk is only available Mon – Fri, 09:00 until 17:00 UTC (-1 hour during BST). As a non-operational service we aim to respond to any service support enquiries within 3-5 business days. \ No newline at end of file diff --git a/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere-level/template.json b/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere-level/template.json index ed8ca0ac..76fed3f1 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere-level/template.json +++ b/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere-level/template.json @@ -7,18 +7,14 @@ "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", "type": "text/html", "title": "Creative Commons Attribution-ShareAlike 4.0" - }, - { - "rel": "cite-as", - "title": "British Crown copyright 2023-2025, the Met Office, is licensed under CC BY-SA" - }, + }, { - "rel": "describedBy", + "rel": "describedby", "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", "title": "Met Office Dataset Documentation" } ], - "title": "Met Office UK Deterministic Whole Atmosphere Level", + "title": "Whole-atmosphere collection Met Office UKV 2km deterministic forecast", "assets": { "thumbnail": { "href": "", @@ -26,7 +22,7 @@ "roles": [ "thumbnail" ], - "title": "Met Office UK Deterministic Whole Atmosphere Level Thumbnail" + "title": "Whole-atmosphere collection Met Office UKV 2km deterministic forecast thumbnail" } }, "extent": { @@ -43,7 +39,7 @@ "temporal": { "interval": [ [ - "2 years ago", + "2023-12-15T00:00:00Z", null ] ] @@ -51,9 +47,15 @@ }, "license": "proprietary", "keywords": [ - "MetOffice", + "Met Office", + "Weather", + "Forecast", "UK", - "Cloud" + "CAPE", + "Cloud", + "Freezing", + "Wet Bulb", + "Lightning" ], "providers": [ { @@ -74,11 +76,12 @@ ] } ], - "description": "The Met Office UK Deterministic Whole Atmosphere Level dataset provides a composite of weather parameters generated throughout the atmospheric column.", "item_assets": { "CAPE_most_unstable_below_500hPa": { "type": "application/netcdf", "title": "Convective Available Potential Energy most unstable below 500hPa", + "description": "CAPE (Convective Available Potential Energy) calculated for the most unstable parcel where the most unstable parcel is defined as the parcel with the highest fixed level CAPE launched from any level (including screen-level=1.5m) within 500hPa of the surface pressure.", + "unit": "J/kg", "roles": [ "data" ] @@ -86,6 +89,8 @@ "CAPE_surface": { "type": "application/netcdf", "title": "Convective Available Potential Energy with respect to surface", + "description": "Value of CAPE (Convective Available Potential Energy) calculated for a surface based parcel where a surface based parcel is defined as a parcel initiated with thermodynamic properties at screen level height (1.5m) i.e. the parcel is launched from screen level.", + "unit": "J/kg", "roles": [ "data" ] @@ -93,6 +98,8 @@ "cloud_amount_below_1000ft_ASL": { "type": "application/netcdf", "title": "Cloud amount below 1000ft Above Sea Level", + "description": "Fraction of horizontal grid square occupied by cloud below 1000 feet above sea level.", + "unit": "1", "roles": [ "data" ] @@ -100,6 +107,8 @@ "cloud_amount_of_high_cloud": { "type": "application/netcdf", "title": "Cloud amount of high cloud", + "description": "Fraction of horizontal grid square occupied by cloud in the high-level cloud height range (from the lowest model layer containing the 5574m height level up to but excluding the lowest model layer containing 13608m height level).", + "unit": "1", "roles": [ "data" ] @@ -107,6 +116,8 @@ "cloud_amount_of_low_cloud": { "type": "application/netcdf", "title": "Cloud amount of low cloud", + "description": "Fraction of horizontal grid square occupied by cloud in the low-level cloud height range (from the lowest model layer containing the 111m height level up to but excluding the lowest model layer containing 1949m height level).", + "unit": "1", "roles": [ "data" ] @@ -114,6 +125,8 @@ "cloud_amount_of_medium_cloud": { "type": "application/netcdf", "title": "Cloud amount of medium cloud", + "description": "Fraction of horizontal grid square occupied by cloud in the mid-level cloud height range (from the lowest model layer containing the 1949m height level up to but excluding the lowest model layer containing 5574m height level).", + "unit": "1", "roles": [ "data" ] @@ -121,6 +134,8 @@ "cloud_amount_of_total_cloud": { "type": "application/netcdf", "title": "Cloud amount of total cloud", + "description": "Fraction of horizontal grid square occupied by cloud as diagnosed by the model cloud scheme. This is for the whole atmosphere column as seen from the surface or the top of the atmosphere.", + "unit": "1", "roles": [ "data" ] @@ -128,6 +143,8 @@ "height_AGL_at_cloud_base_where_cloud_cover_2p5_oktas": { "type": "application/netcdf", "title": "Height above ground level at cloud base where cloud cover 2p5 oktas", + "description": "Height of the base of the lowest cloud above the surface (ground) where there is at least 2.5 oktas (eighths) of cloud cover. This corresponds to scattered cloud.", + "unit": "m", "roles": [ "data" ] @@ -135,6 +152,8 @@ "height_AGL_at_freezing_level": { "type": "application/netcdf", "title": "Height above ground level at freezing level", + "description": "Height of the 0oC isotherm (freezing level) above the surface (ground).", + "unit": "m", "roles": [ "data" ] @@ -142,6 +161,8 @@ "height_AGL_at_wet_bulb_freezing_level": { "type": "application/netcdf", "title": "Height above ground level at wet bulb freezing level", + "description": "Height of the wet bulb freezing level (i.e. where the wet bulb temperature is 0oC) above sea level. This is also referred to as the altitude of the wet bulb freezing level or (geometric) height above the geoid, which is the reference geopotential surface. Wet bulb temperature is defined as the temperature of a parcel of air cooled to saturation (100% relative humidity) by the evaporation of water into it with the latent heat supplied by the parcel.", + "unit": "m", "roles": [ "data" ] @@ -149,6 +170,8 @@ "lightning_flash_accumulation-PT01H": { "type": "application/netcdf", "title": "Hourly number of lightning flashes per unit area", + "description": "This represents the total (cloud-to-cloud and cloud-to-ground) lightning flashes per square metre within the previous hour", + "unit": "count/m2", "roles": [ "data" ] From 3c094fc6ad15986b61ce13d97da52162079d1aed Mon Sep 17 00:00:00 2001 From: Pete Gadomski Date: Thu, 4 Dec 2025 08:59:47 -0700 Subject: [PATCH 10/28] fix: dataset for new layouts --- datasets/met-office/dataset.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/datasets/met-office/dataset.yaml b/datasets/met-office/dataset.yaml index 5c0eaead..e347683c 100644 --- a/datasets/met-office/dataset.yaml +++ b/datasets/met-office/dataset.yaml @@ -12,17 +12,17 @@ environment: collections: - id: met-office-global-deterministic-height-level - template: ${{ local.path(./collection/met-office-global-deterministic-height-level) }} + template: ${{ local.path(./collection/met-office-global-deterministic-near-surface-level) }} class: met_office:MetOfficeCollection asset_storage: - - uri: blob://ukmoforecasts/global/height + - uri: blob://ukmoforecasts/staging chunks: splits: - - depth: 1 + - depth: 3 options: ends_with: .nc - min_depth: 6 - max_depth: 6 + min_depth: 1 + max_depth: 1 chunk_length: 20000 chunk_storage: - uri: blob://ukmoforecasts/met-office-deterministic-info/pctasks-chunks/ + uri: blob://ukmoforecasts/staging-info/pctasks-chunks/ From 073c7bb5aca96c134d988e00d742470fc83ceee9 Mon Sep 17 00:00:00 2001 From: Pete Gadomski Date: Thu, 4 Dec 2025 09:22:51 -0700 Subject: [PATCH 11/28] feat: add dumb but maybe correct stac item creation --- datasets/met-office/dataset.yaml | 5 +---- datasets/met-office/met_office.py | 18 ++++++++++++++++++ datasets/met-office/requirements.txt | 1 + 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/datasets/met-office/dataset.yaml b/datasets/met-office/dataset.yaml index e347683c..1f6c6f62 100644 --- a/datasets/met-office/dataset.yaml +++ b/datasets/met-office/dataset.yaml @@ -15,12 +15,9 @@ collections: template: ${{ local.path(./collection/met-office-global-deterministic-near-surface-level) }} class: met_office:MetOfficeCollection asset_storage: - - uri: blob://ukmoforecasts/staging + - uri: blob://ukmoforecasts/staging/global/near-surface chunks: - splits: - - depth: 3 options: - ends_with: .nc min_depth: 1 max_depth: 1 chunk_length: 20000 diff --git a/datasets/met-office/met_office.py b/datasets/met-office/met_office.py index e69de29b..e3de84ee 100644 --- a/datasets/met-office/met_office.py +++ b/datasets/met-office/met_office.py @@ -0,0 +1,18 @@ +from typing import Union + +from pctasks.core.models.task import WaitTaskResult +from pctasks.core.storage import StorageFactory +from pctasks.dataset.collection import Collection +from pystac import Item +from stactools.met_office_deterministic import stac + + +class MetOfficeCollection(Collection): + @classmethod + def create_item( + cls, asset_uri: str, storage_factory: StorageFactory + ) -> Union[list[Item], WaitTaskResult]: + storage = storage_factory.get_storage(asset_uri) + hrefs = list(storage.get_url(path) for path in storage.list_files()) + items = stac.create_items(hrefs) + return items diff --git a/datasets/met-office/requirements.txt b/datasets/met-office/requirements.txt index e69de29b..870f0a74 100644 --- a/datasets/met-office/requirements.txt +++ b/datasets/met-office/requirements.txt @@ -0,0 +1 @@ +stactools-met-office-deterministic==0.2.0 From d432675531a5b668d2a185b624b8eba04e756bdd Mon Sep 17 00:00:00 2001 From: Pete Gadomski Date: Thu, 4 Dec 2025 09:59:47 -0700 Subject: [PATCH 12/28] fix: chunk location --- datasets/met-office/dataset.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/datasets/met-office/dataset.yaml b/datasets/met-office/dataset.yaml index 1f6c6f62..37b4a227 100644 --- a/datasets/met-office/dataset.yaml +++ b/datasets/met-office/dataset.yaml @@ -22,4 +22,4 @@ collections: max_depth: 1 chunk_length: 20000 chunk_storage: - uri: blob://ukmoforecasts/staging-info/pctasks-chunks/ + uri: blob://ukmoforecasts/staging/staging-chunks/ From 4b9f342428f8a98e16dc9eaba01f3b355d20ec13 Mon Sep 17 00:00:00 2001 From: Pete Gadomski Date: Thu, 4 Dec 2025 14:27:52 -0700 Subject: [PATCH 13/28] fix: collections --- CLAUDE.md | 336 +++++++++++ .../template.json | 96 ---- .../description.md | 1 + .../template.json | 58 ++ .../template.json | 530 ------------------ .../description.md | 0 .../template.json | 407 ++++++++++++++ .../template.json | 141 ----- .../description.md | 1 + .../template.json | 91 +++ .../template.json | 190 ------- .../description.md | 1 + .../template.json | 126 +++++ .../template.json | 128 ----- .../description.md | 0 .../template.json | 93 +++ .../template.json | 420 -------------- .../description.md | 0 .../template.json | 323 +++++++++++ .../template.json | 155 ----- .../description.md | 0 .../template.json | 114 ++++ .../template.json | 192 ------- .../description.md | 0 .../template.json | 143 +++++ datasets/met-office/dataset.yaml | 92 ++- 26 files changed, 1783 insertions(+), 1855 deletions(-) create mode 100644 CLAUDE.md delete mode 100644 datasets/met-office/collection/met-office-global-deterministic-height-level/template.json create mode 100644 datasets/met-office/collection/met-office-global-deterministic-height/description.md create mode 100644 datasets/met-office/collection/met-office-global-deterministic-height/template.json delete mode 100644 datasets/met-office/collection/met-office-global-deterministic-near-surface-level/template.json rename datasets/met-office/collection/{met-office-global-deterministic-near-surface-level => met-office-global-deterministic-near-surface}/description.md (100%) create mode 100644 datasets/met-office/collection/met-office-global-deterministic-near-surface/template.json delete mode 100644 datasets/met-office/collection/met-office-global-deterministic-pressure-level/template.json create mode 100644 datasets/met-office/collection/met-office-global-deterministic-pressure/description.md create mode 100644 datasets/met-office/collection/met-office-global-deterministic-pressure/template.json delete mode 100644 datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere-level/template.json create mode 100644 datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere/description.md create mode 100644 datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere/template.json delete mode 100644 datasets/met-office/collection/met-office-uk-deterministic-height-level/template.json rename datasets/met-office/collection/{met-office-uk-deterministic-height-level => met-office-uk-deterministic-height}/description.md (100%) create mode 100644 datasets/met-office/collection/met-office-uk-deterministic-height/template.json delete mode 100644 datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json rename datasets/met-office/collection/{met-office-uk-deterministic-near-surface-level => met-office-uk-deterministic-near-surface}/description.md (100%) create mode 100644 datasets/met-office/collection/met-office-uk-deterministic-near-surface/template.json delete mode 100644 datasets/met-office/collection/met-office-uk-deterministic-pressure-level/template.json rename datasets/met-office/collection/{met-office-uk-deterministic-pressure-level => met-office-uk-deterministic-pressure}/description.md (100%) create mode 100644 datasets/met-office/collection/met-office-uk-deterministic-pressure/template.json delete mode 100644 datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere-level/template.json rename datasets/met-office/collection/{met-office-uk-deterministic-whole-atmosphere-level => met-office-uk-deterministic-whole-atmosphere}/description.md (100%) create mode 100644 datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere/template.json diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 00000000..02768110 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,336 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## What is PCTasks? + +PCTasks is a scalable workflow orchestration system built on Azure and Kubernetes. It's the reactive ETL system that powers the Microsoft Planetary Computer STAC catalog, managing dataset ingestion, processing, and updates. + +**Core Concept**: PCTasks takes dataset configurations (`dataset.yaml`), generates workflows, and executes them as containerized tasks on Kubernetes (via Argo Workflows) or Azure Batch. + +## Architecture Overview + +### Multi-Package Monorepo Structure + +This is a Python monorepo with 12 distinct packages under `pctasks/`: + +``` +pctasks/ +├── core/ # Base models, storage, templating, shared utilities +├── cli/ # Top-level CLI entry point +├── client/ # Client library for API interaction, profile management +├── server/ # FastAPI server exposing REST API +├── task/ # Task execution runtime (runs inside containers) +├── run/ # Workflow/task runners (Argo, Batch, local) +├── dataset/ # Dataset model and processing logic +├── ingest/ # Ingest workflow generation +├── ingest_task/ # Ingest task implementations (PgSTAC database operations) +├── router/ # Message routing between queues +├── notify/ # Notification handling +└── dev/ # Development utilities (setup, testing) +``` + +Each package has its own `pyproject.toml` and can be installed independently, but they depend on each other (e.g., most depend on `pctasks.core`). + +### Request Flow + +1. **Client** → API Server (FastAPI) +2. **Server** → CosmosDB (workflow definitions) + Azure Queues (submission) +3. **Router** (Azure Function) → Reads queue, creates Argo Workflow +4. **Argo** → Schedules tasks as Kubernetes Pods +5. **Task Container** → Executes `pctasks.task` runtime +6. **Task** → Reads from Blob Storage, processes data, writes to PgSTAC +7. **Notifications** → Item updates sent to queue for downstream consumers + +### Key Subsystems + +- **Templating**: Jinja2-like syntax (`${{ ... }}`) for dynamic values in workflow/dataset configs + - `${{ secrets.* }}`: KeyVault secrets + - `${{ args.* }}`: Workflow arguments + - `${{ local.path(...) }}`: Local file references + - `${{ pc.get_token(...) }}`: SAS token generation + +- **Storage Abstraction**: `StorageFactory` provides unified access to Azure Blob Storage with automatic SAS token handling + +- **Chunking**: Large datasets split into "chunk files" (lists of asset URIs) for parallel processing + +- **Code Injection**: Custom Python code/requirements uploaded to Blob Storage, downloaded at task runtime + +## Development Commands + +### Initial Setup + +```bash +# One-time setup: creates dev environment with Azurite, CosmosDB emulator, Kubernetes (kind) +scripts/setup + +# Drop into development container +scripts/console +``` + +Inside the dev container, the `pctasks` CLI is available with access to local services. + +### Testing + +```bash +# Run all tests (lint + unit tests) +scripts/test + +# Test specific package +scripts/test --subpackage core + +# Only run tests, skip linting +scripts/test --test-only + +# Only lint +scripts/test --lint-only + +# Run integration tests (requires cluster running) +scripts/test-integration +``` + +**Test Location**: Each package has a `tests/` directory (e.g., `pctasks/core/tests/`). + +**Linters Used**: mypy, black, isort, flake8 + +### Code Formatting + +```bash +# Auto-format all code +scripts/format +``` + +Runs black and isort on all packages. + +### Local Development Workflow + +```bash +# Start local servers (API, Argo, etc.) +scripts/server + +# Or start in background +scripts/server --detached + +# Install packages in editable mode after code changes +scripts/install +``` + +### Building and Publishing Images + +```bash +# Build all Docker images locally +scripts/build + +# Publish images to ACR (requires authentication) +scripts/publish --acr --tag +``` + +**Core Images**: +- `pctasks-task-base`: Base image with all pctasks packages +- `pctasks-ingest`: Ingest-specific image +- `pctasks-server`: API server image +- `pctasks-run`: Workflow runner image + +**Dataset Images**: Built manually per dataset (e.g., `pctasks-aster`): +```bash +az acr build -r --subscription \ + -t pctasks-aster:latest \ + -f datasets/aster/Dockerfile . +``` + +### Profile Management + +PCTasks uses profiles to target different environments (dev, staging, production): + +```bash +# Create new profile +pctasks profile create staging + +# Set default profile +pctasks profile set staging + +# Use specific profile +pctasks -p staging + +# Or via environment variable +export PCTASKS_PROFILE=staging +``` + +Profiles stored in `~/.pctasks/.yaml`. + +## Working with Datasets + +### Dataset Configuration (`dataset.yaml`) + +Each dataset in `datasets/` has a `dataset.yaml` that defines: +- **image**: Docker image to use for tasks +- **code**: Custom Python modules/requirements to inject +- **collections**: STAC Collections with asset/chunk storage locations +- **environment**: Environment variables (e.g., Azure credentials) + +### Common Dataset Commands + +```bash +# Ingest collection metadata to database +pctasks dataset ingest-collection -d datasets/aster/dataset.yaml --submit + +# Process items (ETL workflow) +pctasks dataset process-items -d datasets/aster/dataset.yaml --limit 10 --submit + +# Generate chunks (asset inventory) +pctasks dataset create-chunks -d datasets/aster/dataset.yaml --submit + +# Target staging environment +pctasks dataset process-items -d dataset.yaml --target staging --submit +``` + +### Ingest Commands (Direct Collection/NDJSON Ingest) + +```bash +# Ingest collection +pctasks ingest collection ./collection/ --target staging --submit + +# Ingest NDJSON items +pctasks ingest ndjsons blob://account/container/path/ \ + --target staging \ + --num-workers 8 \ + --submit +``` + +### Workflow Management + +```bash +# Submit workflow from YAML file +pctasks workflow upsert-and-submit workflow.yaml + +# List workflows +pctasks workflow list + +# Get workflow details +pctasks workflow get + +# Submit existing workflow with arguments +pctasks workflow submit --arg since 2024-01-01 +``` + +### Creating a New Dataset + +See `docs/getting_started/creating_a_dataset.md` for full guide. Quick checklist: + +1. Create `datasets//dataset.yaml` +2. Create collection template in `datasets//collection/` +3. Implement `Collection` subclass (or use `PremadeItemCollection`) +4. Add `requirements.txt` if using custom packages +5. Test with `--limit` flag first +6. Optionally build custom Docker image if dependencies are heavy + +## Important Configuration Files + +- `scripts/env`: Defines `PACKAGE_DIRS` array and helper functions used by scripts +- `docker-compose.console.yml`: Dev container configuration +- `dev-secrets.yaml`: Local secrets (created from `dev-secrets.template.yaml`) +- `deployment/terraform/`: Infrastructure as Code for Azure resources +- `.github/workflows/cicd.yml`: CI/CD pipeline + +## Common Patterns + +### Using Custom Code with `pctasks-task-base` + +Instead of building a custom Docker image, you can inject code at runtime: + +```yaml +# dataset.yaml +image: ${{ args.registry }}/pctasks-task-base:latest +code: + src: ${{ local.path(./my_module.py) }} + requirements: ${{ local.path(./requirements.txt) }} +``` + +Code is uploaded to Blob Storage, downloaded, and installed before task execution. + +### Collection Implementation + +```python +from pctasks.dataset.collection import Collection + +class MyCollection(Collection): + @classmethod + def create_item(cls, asset_uri: str, storage_factory: StorageFactory): + # Return a pystac.Item or list of Items + return [item] +``` + +### Accessing Secrets in Workflows + +```yaml +environment: + DB_CONNECTION_STRING: ${{ secrets.pgstac-connection-string }} +``` + +Secrets retrieved from Azure KeyVault at runtime. + +## Running a Single Test + +```bash +# Enter dev container +scripts/console + +# Run specific test file +pytest pctasks/core/tests/test_storage.py + +# Run specific test function +pytest pctasks/core/tests/test_storage.py::test_blob_storage + +# Run with verbose output +pytest -vv pctasks/core/tests/test_storage.py +``` + +## Deployment + +Deployment is handled via Terraform and Helm: + +```bash +# Enter deployment container +scripts/console --deploy + +# Deploy to dev stack +bin/deploy -t terraform/dev + +# Staging/production deployed via CI/CD only +``` + +**Environments**: +- `dev`: Local kind cluster, personal development +- `staging`: Deployed to "Planetary Computer Test" subscription via CI/CD +- `production`: Deployed to production subscription via CI/CD + +## Troubleshooting + +### Local Development + +- **Azurite not responding**: Run `scripts/setup --azurite` +- **CosmosDB emulator issues**: Run `scripts/setup --reset-cosmos` +- **Clear test data**: Run `scripts/setup --clear-records` +- **Services not running**: Check `docker compose ps` or restart with `scripts/server` + +### Task Execution + +- **Import errors**: Ensure code is in `code.src` or requirements are in `code.requirements` +- **Storage access denied**: Check SAS tokens in `asset_storage.token` or service principal credentials +- **Task timeout**: Increase timeout in task definition or batch pool settings + +### Workflow Issues + +- **Workflow won't submit**: Validate YAML syntax and required fields (workflow_id, dataset, jobs) +- **Template errors**: Check `${{ }}` syntax and available template variables +- **Missing secrets**: Ensure secrets exist in KeyVault and are referenced correctly + +## Documentation + +Full documentation: https://planetary-computer-tasks.readthedocs.io + +Key docs to reference: +- `docs/getting_started/creating_a_dataset.md`: Dataset creation guide +- `docs/user_guide/templating.md`: Template syntax reference +- `docs/user_guide/chunking.md`: Chunking system explanation +- `docs/development/deploying.md`: Deployment guide diff --git a/datasets/met-office/collection/met-office-global-deterministic-height-level/template.json b/datasets/met-office/collection/met-office-global-deterministic-height-level/template.json deleted file mode 100644 index c485ee38..00000000 --- a/datasets/met-office/collection/met-office-global-deterministic-height-level/template.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "id": "met-office-global-deterministic-height-level", - "type": "Collection", - "links": [ - { - "rel": "license", - "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", - "type": "text/html", - "title": "Creative Commons Attribution-ShareAlike 4.0" - }, - { - "rel": "cite-as", - "title": "British Crown copyright 2023-2025, the Met Office, is licensed under CC BY-SA" - }, - { - "rel": "describedBy", - "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", - "title": "Met Office Dataset Documentation" - } - ], - "title": "Met Office Global Deterministic Height Level", - "assets": { - "thumbnail": { - "href": "", - "type": "image/png", - "roles": [ - "thumbnail" - ], - "title": "Met Office Global Deterministic Height Level Thumbnail" - } - }, - "extent": { - "spatial": { - "bbox": [ - [ - -180, - -90, - 180, - 90 - ] - ] - }, - "temporal": { - "interval": [ - [ - "2 years ago", - null - ] - ] - } - }, - "license": "proprietary", - "keywords": [ - "MetOffice", - "Global", - "Cloud" - ], - "providers": [ - { - "url": "https://www.metoffice.gov.uk/", - "name": "Met Office", - "roles": [ - "producer", - "licensor", - "processor" - ] - }, - { - "url": "https://planetarycomputer.microsoft.com", - "name": "Microsoft", - "roles": [ - "host", - "processor" - ] - } - ], - "description": "The Met Office Global Deterministic Height Level dataset provides a composite of weather parameters generated for specific atmospheric height levels.", - "item_assets": { - "cloud_amount_on_height_levels": { - "type": "application/netcdf", - "title": "Cloud amount on height levels", - "roles": [ - "data" - ] - } - }, - "stac_version": "1.0.0", - "msft:group_id": "metoffice", - "msft:container": "", - "stac_extensions": [ - "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json" - ], - "msft:storage_account": "metofficeeuwest", - "msft:short_description": "Met Office Global Deterministic Height Level", - "msft:region": "westeurope" -} \ No newline at end of file diff --git a/datasets/met-office/collection/met-office-global-deterministic-height/description.md b/datasets/met-office/collection/met-office-global-deterministic-height/description.md new file mode 100644 index 00000000..081535f5 --- /dev/null +++ b/datasets/met-office/collection/met-office-global-deterministic-height/description.md @@ -0,0 +1 @@ +The Met Office Global Deterministic Height Level dataset provides a composite of weather parameters generated for specific atmospheric height levels. diff --git a/datasets/met-office/collection/met-office-global-deterministic-height/template.json b/datasets/met-office/collection/met-office-global-deterministic-height/template.json new file mode 100644 index 00000000..bddf7f11 --- /dev/null +++ b/datasets/met-office/collection/met-office-global-deterministic-height/template.json @@ -0,0 +1,58 @@ +{ + "id": "met-office-global-deterministic-height", + "type": "Collection", + "links": [ + { + "rel": "license", + "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", + "type": "text/html", + "title": "Creative Commons Attribution-ShareAlike 4.0" + }, + { + "rel": "describedBy", + "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", + "title": "Met Office Dataset Documentation" + } + ], + "title": "Met Office Global Deterministic Height Level", + "assets": {}, + "extent": { + "spatial": { + "bbox": [[-180, -90, 180, 90]] + }, + "temporal": { + "interval": [["2023-12-04T00:00:00Z", null]] + } + }, + "license": "proprietary", + "keywords": ["MetOffice", "Global", "Cloud"], + "providers": [ + { + "url": "https://www.metoffice.gov.uk/", + "name": "Met Office", + "roles": ["producer", "licensor", "processor"] + }, + { + "url": "https://planetarycomputer.microsoft.com", + "name": "Microsoft", + "roles": ["host", "processor"] + } + ], + "description": "{{ collection.description }}", + "item_assets": { + "cloud_amount_on_height_levels": { + "type": "application/netcdf", + "title": "Cloud amount on height levels", + "roles": ["data"] + } + }, + "stac_version": "1.0.0", + "msft:group_id": "metoffice", + "msft:container": "staging", + "stac_extensions": [ + "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json" + ], + "msft:storage_account": "ukmoforecasts", + "msft:short_description": "Met Office Global Deterministic Height Level", + "msft:region": "westeurope" +} diff --git a/datasets/met-office/collection/met-office-global-deterministic-near-surface-level/template.json b/datasets/met-office/collection/met-office-global-deterministic-near-surface-level/template.json deleted file mode 100644 index 899eb617..00000000 --- a/datasets/met-office/collection/met-office-global-deterministic-near-surface-level/template.json +++ /dev/null @@ -1,530 +0,0 @@ -{ - "id": "met-office-global-deterministic-near-surface-level", - "type": "Collection", - "links": [ - { - "rel": "license", - "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", - "type": "text/html", - "title": "Creative Commons Attribution-ShareAlike 4.0" - }, - { - "rel": "describedby", - "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", - "title": "Met Office Dataset Documentation" - } - ], - "title": "Near-surface level collection Met Office global deterministic 10km forecast", - "assets": { - "thumbnail": { - "href": "", - "type": "image/png", - "roles": [ - "thumbnail" - ], - "title": "Near-surface level collection Met Office global deterministic 10km forecast thumbnail" - } - }, - "extent": { - "spatial": { - "bbox": [ - [ - -180, - -90, - 180, - 90 - ] - ] - }, - "temporal": { - "interval": [ - [ - "2023-12-15T00:00:00Z", - null - ] - ] - } - }, - "license": "proprietary", - "keywords": [ - "Met Office", - "Global", - "Forecast", - "Cloud", - "Fog", - "Heat Flux", - "Precipitation", - "Pressure", - "Radiation", - "Rainfall", - "Humidity", - "Snow", - "Temperature", - "Wind" - ], - "providers": [ - { - "url": "https://www.metoffice.gov.uk/", - "name": "Met Office", - "roles": [ - "producer", - "licensor", - "processor" - ] - }, - { - "url": "https://planetarycomputer.microsoft.com", - "name": "Microsoft", - "roles": [ - "host", - "processor" - ] - } - ], - "item_assets": { - "fog_fraction_at_screen_level": { - "type": "application/netcdf", - "title": "Fog fraction at screen level", - "description": "Here fog means a visibility of 1000 m or lower. The reduction in visibility is caused water droplets or minute ice crystals forming close to the surface. This quantity represents the fraction of horizontal grid square occupied by fog. An alternative interpretation is that this represents the fractional probability of fog being present at any location in the grid square.", - "unit": "1", - "roles": [ - "data" - ] - }, - "height_of_orography": { - "type": "application/netcdf", - "title": "Height of orography", - "description": "Altitude or (geometric) height above the geoid of the surface (ground). It is worth remembering that orographic height can be negative, particularly in some of the inland sea areas (e.g. Caspian Sea at -27m and Dead Sea at -430m)", - "unit": "m", - "roles": [ - "data" - ] - }, - "latent_heat_flux_at_surface_mean-PT01H": { - "type": "application/netcdf", - "title": "Hourly latent heat flux at surface mean", - "description": "The latent heat flux, averaged over a model time step, at the surface.", - "unit": "W/m2", - "roles": [ - "data" - ] - }, - "latent_heat_flux_at_surface_mean-PT03H": { - "type": "application/netcdf", - "title": "Three hourly latent heat flux at surface mean", - "description": "The latent heat flux, averaged over a model time step, at the surface.", - "unit": "W/m2", - "roles": [ - "data" - ] - }, - "latent_heat_flux_at_surface_mean-PT06H": { - "type": "application/netcdf", - "title": "Six hourly latent heat flux at surface mean", - "description": "The latent heat flux, averaged over a model time step, at the surface.", - "unit": "W/m2", - "roles": [ - "data" - ] - }, - "precipitation_accumulation-PT01H": { - "type": "application/netcdf", - "title": "Hourly precipitation accumulation", - "description": "Implied depth of the layer of liquid water which has been deposited on the surface in the previous hour. This includes rain, snow and hail, with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", - "unit": "m", - "roles": [ - "data" - ] - }, - "precipitation_accumulation-PT03H": { - "type": "application/netcdf", - "title": "Three hourly precipitation accumulation", - "description": "Implied depth of the layer of liquid water which has been deposited on the surface in the previous 3 hours. This includes rain, snow and hail, with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", - "unit": "m", - "roles": [ - "data" - ] - }, - "precipitation_accumulation-PT06H": { - "type": "application/netcdf", - "title": "Six hourly precipitation accumulation", - "description": "Implied depth of the layer of liquid water which has been deposited on the surface in the previous 6 hours. This includes rain, snow and hail, with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", - "unit": "m", - "roles": [ - "data" - ] - }, - "precipitation_rate": { - "type": "application/netcdf", - "title": "Precipitation rate", - "description": "Instantaneous rate at which liquid water (as a depth) was being deposited on the surface. This includes rain, snow and hail with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", - "unit": "m/s", - "roles": [ - "data" - ] - }, - "pressure_at_mean_sea_level": { - "type": "application/netcdf", - "title": "Pressure at mean sea level", - "description": "Air pressure at mean sea level which is close to the geoid in sea areas. Air pressure at sea level is the quantity often abbreviated as MSLP or PMSL.", - "unit": "Pa", - "roles": [ - "data" - ] - }, - "radiation_flux_in_longwave_downward_at_surface": { - "type": "application/netcdf", - "title": "Radiation flux in longwave downward at surface", - "description": "Longwave radiation at the surface from above directed at the ground.", - "unit": "W/m2", - "roles": [ - "data" - ] - }, - "radiation_flux_in_shortwave_direct_downward_at_surface": { - "type": "application/netcdf", - "title": "Radiation flux in shortwave direct downward at surface", - "description": "Direct component of shortwave radiation at the surface from above directed at the ground.", - "unit": "W/m2", - "roles": [ - "data" - ] - }, - "radiation_flux_in_shortwave_total_downward_at_surface": { - "type": "application/netcdf", - "title": "Radiation flux in shortwave total downward at surface", - "description": "Total shortwave radiation at the surface from above directed at the ground.", - "unit": "W/m2", - "roles": [ - "data" - ] - }, - "radiation_flux_in_uv_downward_at_surface": { - "type": "application/netcdf", - "title": "Radiation flux in uv downward at surface", - "description": "Ultaviolet radiation at the surface from above directed at the ground.", - "unit": "W/m2", - "roles": [ - "data" - ] - }, - "rainfall_accumulation-PT01H": { - "type": "application/netcdf", - "title": "Hourly rainfall accumulation", - "description": "Implied depth of the rain produced by the model precipitation scheme which has been deposited on the surface in the previous hour. This excludes the rain produced by the model convection scheme.", - "unit": "m", - "roles": [ - "data" - ] - }, - "rainfall_accumulation-PT03H": { - "type": "application/netcdf", - "title": "Three hourly rainfall accumulation", - "description": "Implied depth of the rain produced by the model precipitation scheme which has been deposited on the surface in the previous 3 hours. This excludes the rain produced by the model convection scheme.", - "unit": "m", - "roles": [ - "data" - ] - }, - "rainfall_accumulation-PT06H": { - "type": "application/netcdf", - "title": "Six hourly rainfall accumulation", - "description": "Implied depth of the rain produced by the model precipitation scheme which has been deposited on the surface in the previous 6 hours. This excludes the rain produced by the model convection scheme.", - "unit": "m", - "roles": [ - "data" - ] - }, - "rainfall_rate": { - "type": "application/netcdf", - "title": "Rainfall rate", - "description": "Instantaneous rate at which rain (as a depth) was being produced by the model precipitation scheme and deposited on the surface. This excludes the rain produced by the model convection scheme.", - "unit": "m/s", - "roles": [ - "data" - ] - }, - "rainfall_rate_from_convection": { - "type": "application/netcdf", - "title": "Rainfall rate from convection", - "description": "Instantaneous rate at which rain (as a depth) was produced by the model convection scheme and deposited on the surface. The rainfall rate can be added to this to get the total rainfall rate.", - "unit": "m/s", - "roles": [ - "data" - ] - }, - "rainfall_rate_from_convection_max-PT01H": { - "type": "application/netcdf", - "title": "Hourly rainfall rate from convection max", - "description": "Maximum instantaneous rate at which rain (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous hour.", - "unit": "m/s", - "roles": [ - "data" - ] - }, - "rainfall_rate_from_convection_max-PT03H": { - "type": "application/netcdf", - "title": "Three hourly rainfall rate from convection max", - "description": "Maximum instantaneous rate at which rain (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 3 hours.", - "unit": "m/s", - "roles": [ - "data" - ] - }, - "rainfall_rate_from_convection_max-PT06H": { - "type": "application/netcdf", - "title": "Six hourly rainfall rate from convection max", - "description": "Maximum instantaneous rate at which rain (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 6 hours.", - "unit": "m/s", - "roles": [ - "data" - ] - }, - "relative_humidity_at_screen_level": { - "type": "application/netcdf", - "title": "Relative humidity at screen level", - "description": "Fractional relative humidity (ratio of the partial pressure of water vapour to the equilibrium vapour pressure of water) at screen level (1.5m above the surface.)", - "unit": "1", - "roles": [ - "data" - ] - }, - "snow_depth_water_equivalent": { - "type": "application/netcdf", - "title": "Snow depth water equivalent", - "description": "Liquid water equivalent (LWE) depth of the snow lying on the surface (ground). Typically water is 10 times as dense as snow, so multiplying by 10 gives an approximate depth of the snow, although wet snow can be significantly denser and powder snow much less dense.", - "unit": "m", - "roles": [ - "data" - ] - }, - "snowfall_rate": { - "type": "application/netcdf", - "title": "Snowfall rate", - "description": "Instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) was produced by the model precipitation scheme and deposited on the surface. This excludes the snow produced by the the model convection scheme.", - "unit": "m/s", - "roles": [ - "data" - ] - }, - "snowfall_rate_from_convection": { - "type": "application/netcdf", - "title": "Snowfall rate from convection", - "description": "Instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface. The snowfall rate can be added to this to get the total snowfall rate.", - "unit": "m/s", - "roles": [ - "data" - ] - }, - "snowfall_rate_from_convection_max-PT01H": { - "type": "application/netcdf", - "title": "Hourly snowfall rate from convection max", - "description": "Maximum instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous hour.", - "unit": "m/s", - "roles": [ - "data" - ] - }, - "snowfall_rate_from_convection_max-PT03H": { - "type": "application/netcdf", - "title": "Three hourly snowfall rate from convection max", - "description": "Maximum instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 3 hours.", - "unit": "m/s", - "roles": [ - "data" - ] - }, - "snowfall_rate_from_convection_max-PT06H": { - "type": "application/netcdf", - "title": "Six hourly snowfall rate from convection max", - "description": "Maximum instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 6 hours.", - "unit": "m/s", - "roles": [ - "data" - ] - }, - "snowfall_rate_from_convection_mean-PT01H": { - "type": "application/netcdf", - "title": "Hourly snowfall rate from convection mean", - "description": "Mean rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous hour.", - "unit": "m/s", - "roles": [ - "data" - ] - }, - "snowfall_rate_from_convection_mean-PT03H": { - "type": "application/netcdf", - "title": "Three hourly snowfall rate from convection mean", - "description": "Mean rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 3 hours.", - "unit": "m/s", - "roles": [ - "data" - ] - }, - "snowfall_rate_from_convection_mean-PT06H": { - "type": "application/netcdf", - "title": "Six hourly snowfall rate from convection mean", - "description": "Mean rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 6 hours.", - "unit": "m/s", - "roles": [ - "data" - ] - }, - "temperature_at_screen_level": { - "type": "application/netcdf", - "title": "Temperature at screen level", - "description": "Instantaneous air temperature at screen level (1.5m).", - "unit": "K", - "roles": [ - "data" - ] - }, - "temperature_at_screen_level_max-PT01H": { - "type": "application/netcdf", - "title": "Hourly temperature at screen level max", - "description": "Maximum instantaneous air temperature at screen level (1.5m) in the previous hour.", - "unit": "K", - "roles": [ - "data" - ] - }, - "temperature_at_screen_level_max-PT03H": { - "type": "application/netcdf", - "title": "Three hourly temperature at screen level max", - "description": "Maximum instantaneous air temperature at screen level (1.5m) in the previous 3 hours.", - "unit": "K", - "roles": [ - "data" - ] - }, - "temperature_at_screen_level_max-PT06H": { - "type": "application/netcdf", - "title": "Six hourly temperature at screen level max", - "description": "Maximum instantaneous air temperature at screen level (1.5m) in the previous 6 hours.", - "unit": "K", - "roles": [ - "data" - ] - }, - "temperature_at_screen_level_min-PT01H": { - "type": "application/netcdf", - "title": "Hourly temperature at screen level min", - "description": "Minimum instantaneous air temperature at screen level (1.5m) in the previous hour.", - "unit": "K", - "roles": [ - "data" - ] - }, - "temperature_at_screen_level_min-PT03H": { - "type": "application/netcdf", - "title": "Three hourly temperature at screen level min", - "description": "Minimum instantaneous air temperature at screen level (1.5m) in the previous 3 hours.", - "unit": "K", - "roles": [ - "data" - ] - }, - "temperature_at_screen_level_min-PT06H": { - "type": "application/netcdf", - "title": "Six hourly temperature at screen level min", - "description": "Minimum instantaneous air temperature at screen level (1.5m) in the previous 6 hours.", - "unit": "K", - "roles": [ - "data" - ] - }, - "temperature_at_surface": { - "type": "application/netcdf", - "title": "Temperature at surface", - "description": "Temperature at the surface interface between the air and the ground.", - "unit": "K", - "roles": [ - "data" - ] - }, - "temperature_of_dew_point_at_screen_level": { - "type": "application/netcdf", - "title": "Dew point temperature at screen level", - "description": "Instantaneous dew point temperature (temperature at which a parcel of air reaches saturation upon being cooled at constant pressure and specific humidity) at screen level (1.5m).", - "unit": "K", - "roles": [ - "data" - ] - }, - "visibility_at_screen_level": { - "type": "application/netcdf", - "title": "Visibility at screen level", - "description": "Horizontal distance at which something can be seen horizontally from screen level (1.5m).", - "unit": "m", - "roles": [ - "data" - ] - }, - "wind_direction_at_10m": { - "type": "application/netcdf", - "title": "Wind direction at 10m", - "description": "Wind at 10m above the surface is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. In meteorological reports the direction of the wind vector is given as the direction from which it is blowing. Note: This with wind speed at 10m replaces x wind at 10m and y wind at 10m.", - "unit": "degrees", - "roles": [ - "data" - ] - }, - "wind_gust_at_10m": { - "type": "application/netcdf", - "title": "Wind gust at 10m", - "description": "Diagnosed instantaneous wind gust at 10m. This can be considered as the extreme rather than steady wind speed that might be experienced at this specific time.", - "unit": "m/s", - "roles": [ - "data" - ] - }, - "wind_gust_at_10m_max-PT01H": { - "type": "application/netcdf", - "title": "Hourly wind gust at 10m max", - "description": "Maximum diagnosed instantaneous wind gust at 10m in the previous hour. This can be considered as the extreme wind speed that might be experienced in this period.", - "unit": "m/s", - "roles": [ - "data" - ] - }, - "wind_gust_at_10m_max-PT03H": { - "type": "application/netcdf", - "title": "Three hourly wind gust at 10m max", - "description": "Maximum diagnosed instantaneous wind gust at 10m in the previous 3 hours. This can be considered as the extreme wind speed that might be experienced in this period.", - "unit": "m/s", - "roles": [ - "data" - ] - }, - "wind_gust_at_10m_max-PT06H": { - "type": "application/netcdf", - "title": "Six hourly wind gust at 10m max", - "description": "Maximum diagnosed instantaneous wind gust at 10m in the previous 6 hours. This can be considered as the extreme wind speed that might be experienced in this period.", - "unit": "m/s", - "roles": [ - "data" - ] - }, - "wind_speed_at_10m": { - "type": "application/netcdf", - "title": "Wind speed at 10m", - "description": "Wind at 10m above the surface is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. The speed is the magnitude of velocity.", - "unit": "m/s", - "roles": [ - "data" - ] - } - }, - "stac_version": "1.0.0", - "msft:group_id": "metoffice", - "msft:container": "", - "stac_extensions": [ - "https://stac-extensions.github.io/classification/v1.0.0/schema.json", - "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json", - "https://stac-extensions.github.io/table/v1.2.0/schema.json", - "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" - ], - "msft:storage_account": "metofficeeuwest", - "msft:short_description": "Met Office Global Deterministic Near Surface Level", - "msft:region": "westeurope" -} \ No newline at end of file diff --git a/datasets/met-office/collection/met-office-global-deterministic-near-surface-level/description.md b/datasets/met-office/collection/met-office-global-deterministic-near-surface/description.md similarity index 100% rename from datasets/met-office/collection/met-office-global-deterministic-near-surface-level/description.md rename to datasets/met-office/collection/met-office-global-deterministic-near-surface/description.md diff --git a/datasets/met-office/collection/met-office-global-deterministic-near-surface/template.json b/datasets/met-office/collection/met-office-global-deterministic-near-surface/template.json new file mode 100644 index 00000000..39a3fe0e --- /dev/null +++ b/datasets/met-office/collection/met-office-global-deterministic-near-surface/template.json @@ -0,0 +1,407 @@ +{ + "id": "met-office-global-deterministic-near-surface", + "type": "Collection", + "description": "{{ collection.description }}", + "links": [ + { + "rel": "license", + "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", + "type": "text/html", + "title": "Creative Commons Attribution-ShareAlike 4.0" + }, + { + "rel": "describedby", + "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", + "title": "Met Office Dataset Documentation" + } + ], + "title": "Near-surface level collection Met Office global deterministic 10km forecast", + "assets": {}, + "extent": { + "spatial": { + "bbox": [[-180, -90, 180, 90]] + }, + "temporal": { + "interval": [["2023-12-15T00:00:00Z", null]] + } + }, + "license": "proprietary", + "keywords": [ + "Met Office", + "Global", + "Forecast", + "Cloud", + "Fog", + "Heat Flux", + "Precipitation", + "Pressure", + "Radiation", + "Rainfall", + "Humidity", + "Snow", + "Temperature", + "Wind" + ], + "providers": [ + { + "url": "https://www.metoffice.gov.uk/", + "name": "Met Office", + "roles": ["producer", "licensor", "processor"] + }, + { + "url": "https://planetarycomputer.microsoft.com", + "name": "Microsoft", + "roles": ["host", "processor"] + } + ], + "item_assets": { + "fog_fraction_at_screen_level": { + "type": "application/netcdf", + "title": "Fog fraction at screen level", + "description": "Here fog means a visibility of 1000 m or lower. The reduction in visibility is caused water droplets or minute ice crystals forming close to the surface. This quantity represents the fraction of horizontal grid square occupied by fog. An alternative interpretation is that this represents the fractional probability of fog being present at any location in the grid square.", + "unit": "1", + "roles": ["data"] + }, + "height_of_orography": { + "type": "application/netcdf", + "title": "Height of orography", + "description": "Altitude or (geometric) height above the geoid of the surface (ground). It is worth remembering that orographic height can be negative, particularly in some of the inland sea areas (e.g. Caspian Sea at -27m and Dead Sea at -430m)", + "unit": "m", + "roles": ["data"] + }, + "latent_heat_flux_at_surface_mean-PT01H": { + "type": "application/netcdf", + "title": "Hourly latent heat flux at surface mean", + "description": "The latent heat flux, averaged over a model time step, at the surface.", + "unit": "W/m2", + "roles": ["data"] + }, + "latent_heat_flux_at_surface_mean-PT03H": { + "type": "application/netcdf", + "title": "Three hourly latent heat flux at surface mean", + "description": "The latent heat flux, averaged over a model time step, at the surface.", + "unit": "W/m2", + "roles": ["data"] + }, + "latent_heat_flux_at_surface_mean-PT06H": { + "type": "application/netcdf", + "title": "Six hourly latent heat flux at surface mean", + "description": "The latent heat flux, averaged over a model time step, at the surface.", + "unit": "W/m2", + "roles": ["data"] + }, + "precipitation_accumulation-PT01H": { + "type": "application/netcdf", + "title": "Hourly precipitation accumulation", + "description": "Implied depth of the layer of liquid water which has been deposited on the surface in the previous hour. This includes rain, snow and hail, with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", + "unit": "m", + "roles": ["data"] + }, + "precipitation_accumulation-PT03H": { + "type": "application/netcdf", + "title": "Three hourly precipitation accumulation", + "description": "Implied depth of the layer of liquid water which has been deposited on the surface in the previous 3 hours. This includes rain, snow and hail, with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", + "unit": "m", + "roles": ["data"] + }, + "precipitation_accumulation-PT06H": { + "type": "application/netcdf", + "title": "Six hourly precipitation accumulation", + "description": "Implied depth of the layer of liquid water which has been deposited on the surface in the previous 6 hours. This includes rain, snow and hail, with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", + "unit": "m", + "roles": ["data"] + }, + "precipitation_rate": { + "type": "application/netcdf", + "title": "Precipitation rate", + "description": "Instantaneous rate at which liquid water (as a depth) was being deposited on the surface. This includes rain, snow and hail with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", + "unit": "m/s", + "roles": ["data"] + }, + "pressure_at_mean_sea_level": { + "type": "application/netcdf", + "title": "Pressure at mean sea level", + "description": "Air pressure at mean sea level which is close to the geoid in sea areas. Air pressure at sea level is the quantity often abbreviated as MSLP or PMSL.", + "unit": "Pa", + "roles": ["data"] + }, + "radiation_flux_in_longwave_downward_at_surface": { + "type": "application/netcdf", + "title": "Radiation flux in longwave downward at surface", + "description": "Longwave radiation at the surface from above directed at the ground.", + "unit": "W/m2", + "roles": ["data"] + }, + "radiation_flux_in_shortwave_direct_downward_at_surface": { + "type": "application/netcdf", + "title": "Radiation flux in shortwave direct downward at surface", + "description": "Direct component of shortwave radiation at the surface from above directed at the ground.", + "unit": "W/m2", + "roles": ["data"] + }, + "radiation_flux_in_shortwave_total_downward_at_surface": { + "type": "application/netcdf", + "title": "Radiation flux in shortwave total downward at surface", + "description": "Total shortwave radiation at the surface from above directed at the ground.", + "unit": "W/m2", + "roles": ["data"] + }, + "radiation_flux_in_uv_downward_at_surface": { + "type": "application/netcdf", + "title": "Radiation flux in uv downward at surface", + "description": "Ultaviolet radiation at the surface from above directed at the ground.", + "unit": "W/m2", + "roles": ["data"] + }, + "rainfall_accumulation-PT01H": { + "type": "application/netcdf", + "title": "Hourly rainfall accumulation", + "description": "Implied depth of the rain produced by the model precipitation scheme which has been deposited on the surface in the previous hour. This excludes the rain produced by the model convection scheme.", + "unit": "m", + "roles": ["data"] + }, + "rainfall_accumulation-PT03H": { + "type": "application/netcdf", + "title": "Three hourly rainfall accumulation", + "description": "Implied depth of the rain produced by the model precipitation scheme which has been deposited on the surface in the previous 3 hours. This excludes the rain produced by the model convection scheme.", + "unit": "m", + "roles": ["data"] + }, + "rainfall_accumulation-PT06H": { + "type": "application/netcdf", + "title": "Six hourly rainfall accumulation", + "description": "Implied depth of the rain produced by the model precipitation scheme which has been deposited on the surface in the previous 6 hours. This excludes the rain produced by the model convection scheme.", + "unit": "m", + "roles": ["data"] + }, + "rainfall_rate": { + "type": "application/netcdf", + "title": "Rainfall rate", + "description": "Instantaneous rate at which rain (as a depth) was being produced by the model precipitation scheme and deposited on the surface. This excludes the rain produced by the model convection scheme.", + "unit": "m/s", + "roles": ["data"] + }, + "rainfall_rate_from_convection": { + "type": "application/netcdf", + "title": "Rainfall rate from convection", + "description": "Instantaneous rate at which rain (as a depth) was produced by the model convection scheme and deposited on the surface. The rainfall rate can be added to this to get the total rainfall rate.", + "unit": "m/s", + "roles": ["data"] + }, + "rainfall_rate_from_convection_max-PT01H": { + "type": "application/netcdf", + "title": "Hourly rainfall rate from convection max", + "description": "Maximum instantaneous rate at which rain (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous hour.", + "unit": "m/s", + "roles": ["data"] + }, + "rainfall_rate_from_convection_max-PT03H": { + "type": "application/netcdf", + "title": "Three hourly rainfall rate from convection max", + "description": "Maximum instantaneous rate at which rain (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 3 hours.", + "unit": "m/s", + "roles": ["data"] + }, + "rainfall_rate_from_convection_max-PT06H": { + "type": "application/netcdf", + "title": "Six hourly rainfall rate from convection max", + "description": "Maximum instantaneous rate at which rain (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 6 hours.", + "unit": "m/s", + "roles": ["data"] + }, + "relative_humidity_at_screen_level": { + "type": "application/netcdf", + "title": "Relative humidity at screen level", + "description": "Fractional relative humidity (ratio of the partial pressure of water vapour to the equilibrium vapour pressure of water) at screen level (1.5m above the surface.)", + "unit": "1", + "roles": ["data"] + }, + "snow_depth_water_equivalent": { + "type": "application/netcdf", + "title": "Snow depth water equivalent", + "description": "Liquid water equivalent (LWE) depth of the snow lying on the surface (ground). Typically water is 10 times as dense as snow, so multiplying by 10 gives an approximate depth of the snow, although wet snow can be significantly denser and powder snow much less dense.", + "unit": "m", + "roles": ["data"] + }, + "snowfall_rate": { + "type": "application/netcdf", + "title": "Snowfall rate", + "description": "Instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) was produced by the model precipitation scheme and deposited on the surface. This excludes the snow produced by the the model convection scheme.", + "unit": "m/s", + "roles": ["data"] + }, + "snowfall_rate_from_convection": { + "type": "application/netcdf", + "title": "Snowfall rate from convection", + "description": "Instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface. The snowfall rate can be added to this to get the total snowfall rate.", + "unit": "m/s", + "roles": ["data"] + }, + "snowfall_rate_from_convection_max-PT01H": { + "type": "application/netcdf", + "title": "Hourly snowfall rate from convection max", + "description": "Maximum instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous hour.", + "unit": "m/s", + "roles": ["data"] + }, + "snowfall_rate_from_convection_max-PT03H": { + "type": "application/netcdf", + "title": "Three hourly snowfall rate from convection max", + "description": "Maximum instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 3 hours.", + "unit": "m/s", + "roles": ["data"] + }, + "snowfall_rate_from_convection_max-PT06H": { + "type": "application/netcdf", + "title": "Six hourly snowfall rate from convection max", + "description": "Maximum instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 6 hours.", + "unit": "m/s", + "roles": ["data"] + }, + "snowfall_rate_from_convection_mean-PT01H": { + "type": "application/netcdf", + "title": "Hourly snowfall rate from convection mean", + "description": "Mean rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous hour.", + "unit": "m/s", + "roles": ["data"] + }, + "snowfall_rate_from_convection_mean-PT03H": { + "type": "application/netcdf", + "title": "Three hourly snowfall rate from convection mean", + "description": "Mean rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 3 hours.", + "unit": "m/s", + "roles": ["data"] + }, + "snowfall_rate_from_convection_mean-PT06H": { + "type": "application/netcdf", + "title": "Six hourly snowfall rate from convection mean", + "description": "Mean rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 6 hours.", + "unit": "m/s", + "roles": ["data"] + }, + "temperature_at_screen_level": { + "type": "application/netcdf", + "title": "Temperature at screen level", + "description": "Instantaneous air temperature at screen level (1.5m).", + "unit": "K", + "roles": ["data"] + }, + "temperature_at_screen_level_max-PT01H": { + "type": "application/netcdf", + "title": "Hourly temperature at screen level max", + "description": "Maximum instantaneous air temperature at screen level (1.5m) in the previous hour.", + "unit": "K", + "roles": ["data"] + }, + "temperature_at_screen_level_max-PT03H": { + "type": "application/netcdf", + "title": "Three hourly temperature at screen level max", + "description": "Maximum instantaneous air temperature at screen level (1.5m) in the previous 3 hours.", + "unit": "K", + "roles": ["data"] + }, + "temperature_at_screen_level_max-PT06H": { + "type": "application/netcdf", + "title": "Six hourly temperature at screen level max", + "description": "Maximum instantaneous air temperature at screen level (1.5m) in the previous 6 hours.", + "unit": "K", + "roles": ["data"] + }, + "temperature_at_screen_level_min-PT01H": { + "type": "application/netcdf", + "title": "Hourly temperature at screen level min", + "description": "Minimum instantaneous air temperature at screen level (1.5m) in the previous hour.", + "unit": "K", + "roles": ["data"] + }, + "temperature_at_screen_level_min-PT03H": { + "type": "application/netcdf", + "title": "Three hourly temperature at screen level min", + "description": "Minimum instantaneous air temperature at screen level (1.5m) in the previous 3 hours.", + "unit": "K", + "roles": ["data"] + }, + "temperature_at_screen_level_min-PT06H": { + "type": "application/netcdf", + "title": "Six hourly temperature at screen level min", + "description": "Minimum instantaneous air temperature at screen level (1.5m) in the previous 6 hours.", + "unit": "K", + "roles": ["data"] + }, + "temperature_at_surface": { + "type": "application/netcdf", + "title": "Temperature at surface", + "description": "Temperature at the surface interface between the air and the ground.", + "unit": "K", + "roles": ["data"] + }, + "temperature_of_dew_point_at_screen_level": { + "type": "application/netcdf", + "title": "Dew point temperature at screen level", + "description": "Instantaneous dew point temperature (temperature at which a parcel of air reaches saturation upon being cooled at constant pressure and specific humidity) at screen level (1.5m).", + "unit": "K", + "roles": ["data"] + }, + "visibility_at_screen_level": { + "type": "application/netcdf", + "title": "Visibility at screen level", + "description": "Horizontal distance at which something can be seen horizontally from screen level (1.5m).", + "unit": "m", + "roles": ["data"] + }, + "wind_direction_at_10m": { + "type": "application/netcdf", + "title": "Wind direction at 10m", + "description": "Wind at 10m above the surface is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. In meteorological reports the direction of the wind vector is given as the direction from which it is blowing. Note: This with wind speed at 10m replaces x wind at 10m and y wind at 10m.", + "unit": "degrees", + "roles": ["data"] + }, + "wind_gust_at_10m": { + "type": "application/netcdf", + "title": "Wind gust at 10m", + "description": "Diagnosed instantaneous wind gust at 10m. This can be considered as the extreme rather than steady wind speed that might be experienced at this specific time.", + "unit": "m/s", + "roles": ["data"] + }, + "wind_gust_at_10m_max-PT01H": { + "type": "application/netcdf", + "title": "Hourly wind gust at 10m max", + "description": "Maximum diagnosed instantaneous wind gust at 10m in the previous hour. This can be considered as the extreme wind speed that might be experienced in this period.", + "unit": "m/s", + "roles": ["data"] + }, + "wind_gust_at_10m_max-PT03H": { + "type": "application/netcdf", + "title": "Three hourly wind gust at 10m max", + "description": "Maximum diagnosed instantaneous wind gust at 10m in the previous 3 hours. This can be considered as the extreme wind speed that might be experienced in this period.", + "unit": "m/s", + "roles": ["data"] + }, + "wind_gust_at_10m_max-PT06H": { + "type": "application/netcdf", + "title": "Six hourly wind gust at 10m max", + "description": "Maximum diagnosed instantaneous wind gust at 10m in the previous 6 hours. This can be considered as the extreme wind speed that might be experienced in this period.", + "unit": "m/s", + "roles": ["data"] + }, + "wind_speed_at_10m": { + "type": "application/netcdf", + "title": "Wind speed at 10m", + "description": "Wind at 10m above the surface is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. The speed is the magnitude of velocity.", + "unit": "m/s", + "roles": ["data"] + } + }, + "stac_version": "1.0.0", + "msft:group_id": "metoffice", + "msft:container": "staging", + "stac_extensions": [ + "https://stac-extensions.github.io/classification/v1.0.0/schema.json", + "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json", + "https://stac-extensions.github.io/table/v1.2.0/schema.json", + "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" + ], + "msft:storage_account": "ukmoforecasts", + "msft:short_description": "Met Office Global Deterministic Near Surface Level", + "msft:region": "westeurope" +} diff --git a/datasets/met-office/collection/met-office-global-deterministic-pressure-level/template.json b/datasets/met-office/collection/met-office-global-deterministic-pressure-level/template.json deleted file mode 100644 index fc38fa3c..00000000 --- a/datasets/met-office/collection/met-office-global-deterministic-pressure-level/template.json +++ /dev/null @@ -1,141 +0,0 @@ -{ - "id": "met-office-global-deterministic-pressure-level", - "type": "Collection", - "links": [ - { - "rel": "license", - "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", - "type": "text/html", - "title": "Creative Commons Attribution-ShareAlike 4.0" - }, - { - "rel": "cite-as", - "title": "British Crown copyright 2023-2025, the Met Office, is licensed under CC BY-SA" - }, - { - "rel": "describedBy", - "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", - "title": "Met Office Dataset Documentation" - } - ], - "title": "Met Office Global Deterministic Pressure Level", - "assets": { - "thumbnail": { - "href": "", - "type": "image/png", - "roles": [ - "thumbnail" - ], - "title": "Met Office Global Deterministic Pressure Level Thumbnail" - } - }, - "extent": { - "spatial": { - "bbox": [ - [ - -180, - -90, - 180, - 90 - ] - ] - }, - "temporal": { - "interval": [ - [ - "2 years ago", - null - ] - ] - } - }, - "license": "proprietary", - "keywords": [ - "MetOffice", - "Global", - "Cloud" - ], - "providers": [ - { - "url": "https://www.metoffice.gov.uk/", - "name": "Met Office", - "roles": [ - "producer", - "licensor", - "processor" - ] - }, - { - "url": "https://planetarycomputer.microsoft.com", - "name": "Microsoft", - "roles": [ - "host", - "processor" - ] - } - ], - "description": "The Met Office Global Deterministic Pressure Level dataset provides a composite of weather parameters generated for specific atmospheric pressure levels.", - "item_assets": { - "height_ASL_on_pressure_levels": { - "type": "application/netcdf", - "title": "Height above sea level on pressure levels", - "roles": [ - "data" - ] - }, - "relative_humidity_on_pressure_levels": { - "type": "application/netcdf", - "title": "Relative humidity on pressure levels", - "roles": [ - "data" - ] - }, - "temperature_on_pressure_levels": { - "type": "application/netcdf", - "title": "Temperature on pressure levels", - "roles": [ - "data" - ] - }, - "wet_bulb_potential_temperature_on_pressure_levels": { - "type": "application/netcdf", - "title": "Wet bulb temperature on pressure levels", - "roles": [ - "data" - ] - }, - "wind_direction_on_pressure_levels": { - "type": "application/netcdf", - "title": "Wind direction on pressure levels", - "roles": [ - "data" - ] - }, - "wind_speed_on_pressure_levels": { - "type": "application/netcdf", - "title": "Wind speed on pressure levels", - "roles": [ - "data" - ] - }, - "wind_vertical_velocity_on_pressure_levels": { - "type": "application/netcdf", - "title": "Wind vertical velocity on pressure levels", - "roles": [ - "data" - ] - } - }, - "stac_version": "1.0.0", - "msft:group_id": "metoffice", - "msft:container": "", - "stac_extensions": [ - "https://stac-extensions.github.io/classification/v1.0.0/schema.json", - "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json", - "https://stac-extensions.github.io/table/v1.2.0/schema.json", - "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" - ], - "msft:storage_account": "metofficeeuwest", - "msft:short_description": "Met Office Global Deterministic Pressure Level", - "msft:region": "westeurope" -} \ No newline at end of file diff --git a/datasets/met-office/collection/met-office-global-deterministic-pressure/description.md b/datasets/met-office/collection/met-office-global-deterministic-pressure/description.md new file mode 100644 index 00000000..fd16c079 --- /dev/null +++ b/datasets/met-office/collection/met-office-global-deterministic-pressure/description.md @@ -0,0 +1 @@ +The Met Office Global Deterministic Pressure Level dataset provides a composite of weather parameters generated for specific atmospheric pressure levels. diff --git a/datasets/met-office/collection/met-office-global-deterministic-pressure/template.json b/datasets/met-office/collection/met-office-global-deterministic-pressure/template.json new file mode 100644 index 00000000..1e66608a --- /dev/null +++ b/datasets/met-office/collection/met-office-global-deterministic-pressure/template.json @@ -0,0 +1,91 @@ +{ + "id": "met-office-global-deterministic-pressure", + "type": "Collection", + "links": [ + { + "rel": "license", + "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", + "type": "text/html", + "title": "Creative Commons Attribution-ShareAlike 4.0" + }, + { + "rel": "describedBy", + "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", + "title": "Met Office Dataset Documentation" + } + ], + "title": "Met Office Global Deterministic Pressure Level", + "assets": {}, + "extent": { + "spatial": { + "bbox": [[-180, -90, 180, 90]] + }, + "temporal": { + "interval": [["2023-12-04T00:00:00Z", null]] + } + }, + "license": "proprietary", + "keywords": ["MetOffice", "Global", "Cloud"], + "providers": [ + { + "url": "https://www.metoffice.gov.uk/", + "name": "Met Office", + "roles": ["producer", "licensor", "processor"] + }, + { + "url": "https://planetarycomputer.microsoft.com", + "name": "Microsoft", + "roles": ["host", "processor"] + } + ], + "description": "{{ collection.description }}", + "item_assets": { + "height_ASL_on_pressure_levels": { + "type": "application/netcdf", + "title": "Height above sea level on pressure levels", + "roles": ["data"] + }, + "relative_humidity_on_pressure_levels": { + "type": "application/netcdf", + "title": "Relative humidity on pressure levels", + "roles": ["data"] + }, + "temperature_on_pressure_levels": { + "type": "application/netcdf", + "title": "Temperature on pressure levels", + "roles": ["data"] + }, + "wet_bulb_potential_temperature_on_pressure_levels": { + "type": "application/netcdf", + "title": "Wet bulb temperature on pressure levels", + "roles": ["data"] + }, + "wind_direction_on_pressure_levels": { + "type": "application/netcdf", + "title": "Wind direction on pressure levels", + "roles": ["data"] + }, + "wind_speed_on_pressure_levels": { + "type": "application/netcdf", + "title": "Wind speed on pressure levels", + "roles": ["data"] + }, + "wind_vertical_velocity_on_pressure_levels": { + "type": "application/netcdf", + "title": "Wind vertical velocity on pressure levels", + "roles": ["data"] + } + }, + "stac_version": "1.0.0", + "msft:group_id": "metoffice", + "msft:container": "staging", + "stac_extensions": [ + "https://stac-extensions.github.io/classification/v1.0.0/schema.json", + "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json", + "https://stac-extensions.github.io/table/v1.2.0/schema.json", + "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" + ], + "msft:storage_account": "ukmoforecasts", + "msft:short_description": "Met Office Global Deterministic Pressure Level", + "msft:region": "westeurope" +} diff --git a/datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere-level/template.json b/datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere-level/template.json deleted file mode 100644 index 88c6e495..00000000 --- a/datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere-level/template.json +++ /dev/null @@ -1,190 +0,0 @@ -{ - "id": "met-office-global-deterministic-whole-atmosphere-level", - "type": "Collection", - "links": [ - { - "rel": "license", - "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", - "type": "text/html", - "title": "Creative Commons Attribution-ShareAlike 4.0" - }, - { - "rel": "cite-as", - "title": "British Crown copyright 2023-2025, the Met Office, is licensed under CC BY-SA" - }, - { - "rel": "describedBy", - "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", - "title": "Met Office Dataset Documentation" - } - ], - "title": "Met Office Global Deterministic Whole Atmosphere Level", - "assets": { - "thumbnail": { - "href": "", - "type": "image/png", - "roles": [ - "thumbnail" - ], - "title": "Met Office Global Deterministic Whole Atmosphere Level Thumbnail" - } - }, - "extent": { - "spatial": { - "bbox": [ - [ - -180, - -90, - 180, - 90 - ] - ] - }, - "temporal": { - "interval": [ - [ - "2 years ago", - null - ] - ] - } - }, - "license": "proprietary", - "keywords": [ - "MetOffice", - "Global", - "Cloud" - ], - "providers": [ - { - "url": "https://www.metoffice.gov.uk/", - "name": "Met Office", - "roles": [ - "producer", - "licensor", - "processor" - ] - }, - { - "url": "https://planetarycomputer.microsoft.com", - "name": "Microsoft", - "roles": [ - "host", - "processor" - ] - } - ], - "description": "The Met Office Global Deterministic Whole Atmosphere Level dataset provides a composite of weather parameters generated throughout the atmospheric column.", - "item_assets": { - "CAPE_mixed_layer_lowest_500m": { - "type": "application/netcdf", - "title": "Convective Available Potential Energy mixed layer lowest 500m", - "roles": [ - "data" - ] - }, - "CAPE_most_unstable_below_500hPa": { - "type": "application/netcdf", - "title": "Convective Available Potential Energy most unstable below 500hPa", - "roles": [ - "data" - ] - }, - "CAPE_surface": { - "type": "application/netcdf", - "title": "Convective Available Potential Energy with respect to surface", - "roles": [ - "data" - ] - }, - "CIN_mixed_layer_lowest_500m": { - "type": "application/netcdf", - "title": "Convective Inhibition mixed layer lowest 500m", - "roles": [ - "data" - ] - }, - "CIN_most_unstable_below_500hPa": { - "type": "application/netcdf", - "title": "Convective Inhibition most unstable below 500hPa", - "roles": [ - "data" - ] - }, - "CIN_surface": { - "type": "application/netcdf", - "title": "Convective Inhibition with respect to surface", - "roles": [ - "data" - ] - }, - "cloud_amount_below_1000ft_ASL": { - "type": "application/netcdf", - "title": "Cloud amount below 1000ft Above Sea Level", - "roles": [ - "data" - ] - }, - "cloud_amount_of_high_cloud": { - "type": "application/netcdf", - "title": "Cloud amount of high cloud", - "roles": [ - "data" - ] - }, - "cloud_amount_of_low_cloud": { - "type": "application/netcdf", - "title": "Cloud amount of low cloud", - "roles": [ - "data" - ] - }, - "cloud_amount_of_medium_cloud": { - "type": "application/netcdf", - "title": "Cloud amount of medium cloud", - "roles": [ - "data" - ] - }, - "cloud_amount_of_total_cloud": { - "type": "application/netcdf", - "title": "Cloud amount of total cloud", - "roles": [ - "data" - ] - }, - "cloud_amount_of_total_convective_cloud": { - "type": "application/netcdf", - "title": "Cloud amount of total convective cloud", - "roles": [ - "data" - ] - }, - "pressure_at_tropopause": { - "type": "application/netcdf", - "title": "Pressure at tropopause", - "roles": [ - "data" - ] - }, - "temperature_at_tropopause": { - "type": "application/netcdf", - "title": "Temperature at tropopause", - "roles": [ - "data" - ] - } - }, - "stac_version": "1.0.0", - "msft:group_id": "metoffice", - "msft:container": "", - "stac_extensions": [ - "https://stac-extensions.github.io/classification/v1.0.0/schema.json", - "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json", - "https://stac-extensions.github.io/table/v1.2.0/schema.json", - "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" - ], - "msft:storage_account": "metofficeeuwest", - "msft:short_description": "Met Office Global Deterministic Whole Atmosphere Level", - "msft:region": "westeurope" -} \ No newline at end of file diff --git a/datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere/description.md b/datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere/description.md new file mode 100644 index 00000000..cfc4fdbb --- /dev/null +++ b/datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere/description.md @@ -0,0 +1 @@ +The Met Office Global Deterministic Whole Atmosphere Level dataset provides a composite of weather parameters generated throughout the atmospheric column. diff --git a/datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere/template.json b/datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere/template.json new file mode 100644 index 00000000..c8185a9a --- /dev/null +++ b/datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere/template.json @@ -0,0 +1,126 @@ +{ + "id": "met-office-global-deterministic-whole-atmosphere", + "type": "Collection", + "links": [ + { + "rel": "license", + "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", + "type": "text/html", + "title": "Creative Commons Attribution-ShareAlike 4.0" + }, + { + "rel": "describedBy", + "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", + "title": "Met Office Dataset Documentation" + } + ], + "title": "Met Office Global Deterministic Whole Atmosphere Level", + "assets": {}, + "extent": { + "spatial": { + "bbox": [[-180, -90, 180, 90]] + }, + "temporal": { + "interval": [["2023-12-04T00:00:00Z", null]] + } + }, + "license": "proprietary", + "keywords": ["MetOffice", "Global", "Cloud"], + "providers": [ + { + "url": "https://www.metoffice.gov.uk/", + "name": "Met Office", + "roles": ["producer", "licensor", "processor"] + }, + { + "url": "https://planetarycomputer.microsoft.com", + "name": "Microsoft", + "roles": ["host", "processor"] + } + ], + "description": "{{ collection.description }}", + "item_assets": { + "CAPE_mixed_layer_lowest_500m": { + "type": "application/netcdf", + "title": "Convective Available Potential Energy mixed layer lowest 500m", + "roles": ["data"] + }, + "CAPE_most_unstable_below_500hPa": { + "type": "application/netcdf", + "title": "Convective Available Potential Energy most unstable below 500hPa", + "roles": ["data"] + }, + "CAPE_surface": { + "type": "application/netcdf", + "title": "Convective Available Potential Energy with respect to surface", + "roles": ["data"] + }, + "CIN_mixed_layer_lowest_500m": { + "type": "application/netcdf", + "title": "Convective Inhibition mixed layer lowest 500m", + "roles": ["data"] + }, + "CIN_most_unstable_below_500hPa": { + "type": "application/netcdf", + "title": "Convective Inhibition most unstable below 500hPa", + "roles": ["data"] + }, + "CIN_surface": { + "type": "application/netcdf", + "title": "Convective Inhibition with respect to surface", + "roles": ["data"] + }, + "cloud_amount_below_1000ft_ASL": { + "type": "application/netcdf", + "title": "Cloud amount below 1000ft Above Sea Level", + "roles": ["data"] + }, + "cloud_amount_of_high_cloud": { + "type": "application/netcdf", + "title": "Cloud amount of high cloud", + "roles": ["data"] + }, + "cloud_amount_of_low_cloud": { + "type": "application/netcdf", + "title": "Cloud amount of low cloud", + "roles": ["data"] + }, + "cloud_amount_of_medium_cloud": { + "type": "application/netcdf", + "title": "Cloud amount of medium cloud", + "roles": ["data"] + }, + "cloud_amount_of_total_cloud": { + "type": "application/netcdf", + "title": "Cloud amount of total cloud", + "roles": ["data"] + }, + "cloud_amount_of_total_convective_cloud": { + "type": "application/netcdf", + "title": "Cloud amount of total convective cloud", + "roles": ["data"] + }, + "pressure_at_tropopause": { + "type": "application/netcdf", + "title": "Pressure at tropopause", + "roles": ["data"] + }, + "temperature_at_tropopause": { + "type": "application/netcdf", + "title": "Temperature at tropopause", + "roles": ["data"] + } + }, + "stac_version": "1.0.0", + "msft:group_id": "metoffice", + "msft:container": "staging", + "stac_extensions": [ + "https://stac-extensions.github.io/classification/v1.0.0/schema.json", + "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json", + "https://stac-extensions.github.io/table/v1.2.0/schema.json", + "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" + ], + "msft:storage_account": "ukmoforecasts", + "msft:short_description": "Met Office Global Deterministic Whole Atmosphere Level", + "msft:region": "westeurope" +} diff --git a/datasets/met-office/collection/met-office-uk-deterministic-height-level/template.json b/datasets/met-office/collection/met-office-uk-deterministic-height-level/template.json deleted file mode 100644 index 6870f66c..00000000 --- a/datasets/met-office/collection/met-office-uk-deterministic-height-level/template.json +++ /dev/null @@ -1,128 +0,0 @@ -{ - "id": "met-office-uk-deterministic-height-level", - "type": "Collection", - "links": [ - { - "rel": "license", - "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", - "type": "text/html", - "title": "Creative Commons Attribution-ShareAlike 4.0" - }, - { - "rel": "describedby", - "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", - "title": "Met Office Dataset Documentation" - } - ], - "title": "Height levels collection Met Office UKV 2km deterministic forecast", - "assets": { - "thumbnail": { - "href": "", - "type": "image/png", - "roles": [ - "thumbnail" - ], - "title": "Height levels collection Met Office UKV 2km deterministic forecast thumbnail" - } - }, - "extent": { - "spatial": { - "bbox": [ - [ - 15, - 50, - 5, - 62 - ] - ] - }, - "temporal": { - "interval": [ - [ - "2023-12-15T00:00:00Z", - null - ] - ] - } - }, - "license": "proprietary", - "keywords": [ - "Met Office", - "Weather", - "Forecast", - "UK", - "Cloud", - "Temperature", - "Wind", - "Height" - ], - "providers": [ - { - "url": "https://www.metoffice.gov.uk/", - "name": "Met Office", - "roles": [ - "producer", - "licensor", - "processor" - ] - }, - { - "url": "https://planetarycomputer.microsoft.com", - "name": "Microsoft", - "roles": [ - "host", - "processor" - ] - } - ], - "item_assets": { - "cloud_amount_on_height_levels": { - "type": "application/netcdf", - "title": "Cloud amount on height levels", - "description": "Fraction of horizontal grid square occupied by cloud in layers centred on height levels.", - "unit": "1", - "roles": [ - "data" - ] - }, - "temperature_on_height_levels": { - "type": "application/netcdf", - "title": "Temperature on height levels", - "description": "Air temperature on height levels.", - "unit": "K", - "roles": [ - "data" - ] - }, - "wind_direction_on_height_levels": { - "type": "application/netcdf", - "title": "Wind direction on height levels", - "description": "Wind direction on height levels is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. In meteorological reports the direction of the wind vector is given as the direction from which it is blowing.", - "unit": "degrees", - "roles": [ - "data" - ] - }, - "wind_speed_on_height_levels": { - "type": "application/netcdf", - "title": "Wind speed on height levels", - "description": "Wind speed on height levels is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. The speed is the magnitude of velocity.", - "unit": "m/s", - "roles": [ - "data" - ] - } - }, - "stac_version": "1.0.0", - "msft:group_id": "metoffice", - "msft:container": "", - "stac_extensions": [ - "https://stac-extensions.github.io/classification/v1.0.0/schema.json", - "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json", - "https://stac-extensions.github.io/table/v1.2.0/schema.json", - "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" - ], - "msft:storage_account": "metofficeeuwest", - "msft:short_description": "Met Office UK Deterministic Height Level", - "msft:region": "westeurope" -} \ No newline at end of file diff --git a/datasets/met-office/collection/met-office-uk-deterministic-height-level/description.md b/datasets/met-office/collection/met-office-uk-deterministic-height/description.md similarity index 100% rename from datasets/met-office/collection/met-office-uk-deterministic-height-level/description.md rename to datasets/met-office/collection/met-office-uk-deterministic-height/description.md diff --git a/datasets/met-office/collection/met-office-uk-deterministic-height/template.json b/datasets/met-office/collection/met-office-uk-deterministic-height/template.json new file mode 100644 index 00000000..46569ba3 --- /dev/null +++ b/datasets/met-office/collection/met-office-uk-deterministic-height/template.json @@ -0,0 +1,93 @@ +{ + "id": "met-office-uk-deterministic-height", + "type": "Collection", + "description": "{{ collection.description }}", + "links": [ + { + "rel": "license", + "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", + "type": "text/html", + "title": "Creative Commons Attribution-ShareAlike 4.0" + }, + { + "rel": "describedby", + "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", + "title": "Met Office Dataset Documentation" + } + ], + "title": "Height levels collection Met Office UKV 2km deterministic forecast", + "assets": {}, + "extent": { + "spatial": { + "bbox": [[15, 50, 5, 62]] + }, + "temporal": { + "interval": [["2023-12-15T00:00:00Z", null]] + } + }, + "license": "proprietary", + "keywords": [ + "Met Office", + "Weather", + "Forecast", + "UK", + "Cloud", + "Temperature", + "Wind", + "Height" + ], + "providers": [ + { + "url": "https://www.metoffice.gov.uk/", + "name": "Met Office", + "roles": ["producer", "licensor", "processor"] + }, + { + "url": "https://planetarycomputer.microsoft.com", + "name": "Microsoft", + "roles": ["host", "processor"] + } + ], + "item_assets": { + "cloud_amount_on_height_levels": { + "type": "application/netcdf", + "title": "Cloud amount on height levels", + "description": "Fraction of horizontal grid square occupied by cloud in layers centred on height levels.", + "unit": "1", + "roles": ["data"] + }, + "temperature_on_height_levels": { + "type": "application/netcdf", + "title": "Temperature on height levels", + "description": "Air temperature on height levels.", + "unit": "K", + "roles": ["data"] + }, + "wind_direction_on_height_levels": { + "type": "application/netcdf", + "title": "Wind direction on height levels", + "description": "Wind direction on height levels is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. In meteorological reports the direction of the wind vector is given as the direction from which it is blowing.", + "unit": "degrees", + "roles": ["data"] + }, + "wind_speed_on_height_levels": { + "type": "application/netcdf", + "title": "Wind speed on height levels", + "description": "Wind speed on height levels is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. The speed is the magnitude of velocity.", + "unit": "m/s", + "roles": ["data"] + } + }, + "stac_version": "1.0.0", + "msft:group_id": "metoffice", + "msft:container": "staging", + "stac_extensions": [ + "https://stac-extensions.github.io/classification/v1.0.0/schema.json", + "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json", + "https://stac-extensions.github.io/table/v1.2.0/schema.json", + "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" + ], + "msft:storage_account": "ukmoforecasts", + "msft:short_description": "Met Office UK Deterministic Height Level", + "msft:region": "westeurope" +} diff --git a/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json b/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json deleted file mode 100644 index 6ccbd642..00000000 --- a/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json +++ /dev/null @@ -1,420 +0,0 @@ -{ - "id": "met-office-uk-deterministic-near-surface-level", - "type": "Collection", - "links": [ - { - "rel": "license", - "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", - "type": "text/html", - "title": "Creative Commons Attribution-ShareAlike 4.0" - }, - { - "rel": "describedby", - "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", - "title": "Met Office Dataset Documentation" - } - ], - "title": "Near-surface level collection Met Office UKV 2km deterministic forecast", - "assets": { - "thumbnail": { - "href": "", - "type": "image/png", - "roles": [ - "thumbnail" - ], - "title": "Near-surface level collection Met Office UKV 2km deterministic forecast Thumbnail" - } - }, - "extent": { - "spatial": { - "bbox": [ - [ - 15, - 50, - 5, - 62 - ] - ] - }, - "temporal": { - "interval": [ - [ - "2023-12-15T00:00:00Z", - null - ] - ] - } - }, - "license": "proprietary", - "keywords": [ - "Met Office", - "Weather", - "Forecast", - "UK", - "Precipitation", - "Temperature", - "Wind", - "Pressure", - "Humidity" - ], - "providers": [ - { - "url": "https://www.metoffice.gov.uk/", - "name": "Met Office", - "roles": [ - "producer", - "licensor", - "processor" - ] - }, - { - "url": "https://planetarycomputer.microsoft.com", - "name": "Microsoft", - "roles": [ - "host", - "processor" - ] - } - ], - "item_assets": { - "fog_fraction_at_screen_level": { - "type": "application/netcdf", - "title": "Fog fraction at screen level", - "description": "Here fog means a visibility of 1000 m or lower. The reduction in visibility is caused by water droplets or minute ice crystals forming close to the surface. This quantity represents the fraction of horizontal grid square occupied by fog. An alternative interpretation is that this represents the fractional probability of fog being present at any location in the grid square.", - "unit": "1", - "height": "1.5m", - "roles": [ - "data" - ] - }, - "hail_fall_accumulation-PT01H": { - "type": "application/netcdf", - "title": "Hourly hail fall accumulation", - "description": "Implied depth of the layer of liquid water equivalent (LWE) hail produced by the model precipitation scheme and deposited on the surface in the previous hour.", - "unit": "m", - "roles": [ - "data" - ] - }, - "hail_fall_rate": { - "type": "application/netcdf", - "title": "Hail fall rate", - "description": "Instantaneous rate at which liquid water equivalent (LWE) hail (as a depth) has been produced by the model precipitation scheme and deposited on the surface.", - "unit": "m/s", - "roles": [ - "data" - ] - }, - "height_of_orography": { - "type": "application/netcdf", - "title": "Height of orography", - "description": "Altitude or (geometric) height above the geoid of the surface (ground). It is worth remembering that orographic height can be negative, particularly in some of the inland sea areas (e.g. Caspian Sea at -27m and Dead Sea at -430m).", - "unit": "m", - "roles": [ - "data" - ] - }, - "landsea_mask": { - "type": "application/netcdf", - "title": "Land binary mask", - "description": "Binary indicator of whether a point is considered land (value = 1) or sea (value = 0). This is useful to identify the coastline and characterise points for correct interpretation of forecast data by users.", - "unit": "1", - "roles": [ - "data" - ] - }, - "precipitation_accumulation-PT01H": { - "type": "application/netcdf", - "title": "Hourly precipitation accumulation", - "description": "Implied depth of the layer of liquid water which has been deposited on the surface in the previous hour. This includes rain, snow and hail, with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", - "unit": "m", - "roles": [ - "data" - ] - }, - "precipitation_accumulation-PT03H": { - "type": "application/netcdf", - "title": "Three hourly precipitation accumulation", - "description": "Implied depth of the layer of liquid water which has been deposited on the surface in the previous 3 hours. This includes rain, snow and hail, with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", - "unit": "m", - "roles": [ - "data" - ] - }, - "precipitation_rate": { - "type": "application/netcdf", - "title": "Precipitation rate", - "description": "Instantaneous rate at which liquid water (as a depth) was being deposited on the surface. This includes rain, snow and hail with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", - "unit": "m/s", - "roles": [ - "data" - ] - }, - "pressure_at_mean_sea_level": { - "type": "application/netcdf", - "title": "Pressure at mean sea level", - "description": "Air pressure at mean sea level which is close to the geoid in sea areas. Air pressure at sea level is the quantity often abbreviated as MSLP or PMSL.", - "unit": "Pa", - "roles": [ - "data" - ] - }, - "pressure_at_surface": { - "type": "application/netcdf", - "title": "Pressure at surface", - "description": "Air pressure at the surface (lower boundary of the atmosphere).", - "unit": "Pa", - "roles": [ - "data" - ] - }, - "radiation_flux_in_longwave_downward_at_surface": { - "type": "application/netcdf", - "title": "Radiation flux in longwave downward at surface", - "description": "Longwave radiation at the surface from above directed at the ground.", - "unit": "W/m2", - "roles": [ - "data" - ] - }, - "radiation_flux_in_shortwave_diffuse_downward_at_surface": { - "type": "application/netcdf", - "title": "Radiation flux in shortwave diffuse downward at surface", - "description": "Diffuse component of shortwave radiation at the surface from above directed at the ground.", - "unit": "W/m2", - "roles": [ - "data" - ] - }, - "radiation_flux_in_shortwave_direct_downward_at_surface": { - "type": "application/netcdf", - "title": "Radiation flux in shortwave direct downward at surface", - "description": "Direct component of shortwave radiation at the surface from above directed at the ground.", - "unit": "W/m2", - "roles": [ - "data" - ] - }, - "radiation_flux_in_shortwave_total_downward_at_surface": { - "type": "application/netcdf", - "title": "Radiation flux in shortwave total downward at surface", - "description": "Total shortwave radiation at the surface from above directed at the ground.", - "unit": "W/m2", - "roles": [ - "data" - ] - }, - "radiation_flux_in_uv_downward_at_surface": { - "type": "application/netcdf", - "title": "Radiation flux in uv downward at surface", - "description": "Ultraviolet radiation at the surface from above directed at the ground.", - "unit": "W/m2", - "roles": [ - "data" - ] - }, - "rainfall_accumulation-PT01H": { - "type": "application/netcdf", - "title": "Hourly rainfall accumulation", - "description": "Implied depth of the rain produced by the model precipitation scheme which has been deposited on the surface in the previous hour. This excludes the rain produced by the model convection scheme.", - "unit": "m", - "roles": [ - "data" - ] - }, - "rainfall_accumulation-PT03H": { - "type": "application/netcdf", - "title": "Three hourly rainfall accumulation", - "description": "Implied depth of the rain produced by the model precipitation scheme which has been deposited on the surface in the previous 3 hours. This excludes the rain produced by the model convection scheme.", - "unit": "m", - "roles": [ - "data" - ] - }, - "rainfall_rate": { - "type": "application/netcdf", - "title": "Rainfall rate", - "description": "Instantaneous rate at which rain (as a depth) was being produced by the model precipitation scheme and deposited on the surface. This excludes the rain produced by the model convection scheme.", - "unit": "m/s", - "roles": [ - "data" - ] - }, - "relative_humidity_at_screen_level": { - "type": "application/netcdf", - "title": "Relative humidity at screen level", - "description": "Fractional relative humidity (ratio of the partial pressure of water vapour to the equilibrium vapour pressure of water) at screen level (1.5m above the surface.)", - "unit": "1", - "height": "1.5m", - "roles": [ - "data" - ] - }, - "sensible_heat_flux_at_surface": { - "type": "application/netcdf", - "title": "Sensible heat flux at surface", - "description": "Exchange of heat between the surface and the air by motion of air, also called turbulent heat flux.", - "unit": "W/m2", - "roles": [ - "data" - ] - }, - "snow_depth_water_equivalent": { - "type": "application/netcdf", - "title": "Snow depth water equivalent", - "description": "Liquid water equivalent ( LWE) depth of the snow lying on the surface (ground). Typically water is 10 times as dense as snow, so multiplying by 10 gives an approximate depth of the snow, although wet snow can be significantly denser and powder snow much less dense.", - "unit": "m", - "roles": [ - "data" - ] - }, - "snowfall_accumulation-PT01H": { - "type": "application/netcdf", - "title": "Hourly snowfall accumulation", - "description": "Implied depth of the (LWE) snow (as a depth) produced by the model precipitation scheme and deposited on the surface in the previous hour. This excludes the snow produced by the model convection scheme. ", - "unit": "m", - "roles": [ - "data" - ] - }, - "snowfall_accumulation-PT03H": { - "type": "application/netcdf", - "title": "Three hourly snowfall accumulation", - "description": "Implied depth of the (LWE) snow (as a depth) produced by the model precipitation scheme and deposited on the surface in the previous 3 hours. This excludes the snow produced by the model convection scheme.", - "unit": "m", - "roles": [ - "data" - ] - }, - "snowfall_rate": { - "type": "application/netcdf", - "title": "Snowfall rate", - "description": "Instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) was produced by the model precipitation scheme and deposited on the surface. This excludes the snow produced by the model convection scheme.", - "unit": "m/s", - "roles": [ - "data" - ] - }, - "temperature_at_screen_level": { - "type": "application/netcdf", - "title": "Temperature at screen level", - "description": "Instantaneous air temperature at screen level (1.5m).", - "unit": "K", - "height": "1.5m", - "roles": [ - "data" - ] - }, - "temperature_at_screen_level_max-PT01H": { - "type": "application/netcdf", - "title": "Hourly temperature at screen level max", - "description": "Maximum instantaneous air temperature at screen level (1.5m) in the previous hour.", - "unit": "K", - "height": "1.5m", - "roles": [ - "data" - ] - }, - "temperature_at_screen_level_min-PT01H": { - "type": "application/netcdf", - "title": "Hourly temperature at screen level min", - "description": "Minimum instantaneous air temperature at screen level (1.5m) in the previous hour.", - "unit": "K", - "height": "1.5m", - "roles": [ - "data" - ] - }, - "temperature_at_surface": { - "type": "application/netcdf", - "title": "Temperature at surface", - "description": "Temperature at the surface interface between the air and the ground.", - "unit": "K", - "roles": [ - "data" - ] - }, - "temperature_of_dew_point_at_screen_level": { - "type": "application/netcdf", - "title": "Dew point temperature at screen level", - "description": "Instantaneous dew point temperature (temperature at which a parcel of air reaches saturation upon being cooled at constant pressure and specific humidity) at screen level (1.5m).", - "unit": "K", - "height": "1.5m", - "roles": [ - "data" - ] - }, - "visibility_at_screen_level": { - "type": "application/netcdf", - "title": "Visibility at screen level", - "description": "Horizontal distance at which something can be seen horizontally from screen level (1.5m).", - "unit": "m", - "height": "1.5m", - "roles": [ - "data" - ] - }, - "wind_direction_at_10m": { - "type": "application/netcdf", - "title": "Wind direction at 10m", - "description": "Wind at 10m above the surface is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. In meteorological reports the direction of the wind vector is given as the direction from which it is blowing. Note: This with wind speed at 10m replaces x wind at 10m and y wind at 10m.", - "unit": "degrees", - "height": "10.0m", - "roles": [ - "data" - ] - }, - "wind_gust_at_10m": { - "type": "application/netcdf", - "title": "Wind gust at 10m", - "description": "Diagnosed instantaneous wind gust at 10m. This can be considered as the extreme rather than steady wind speed that might be experienced at this specific time.", - "unit": "m/s", - "height": "10.0m", - "roles": [ - "data" - ] - }, - "wind_gust_at_10m_max-PT01H": { - "type": "application/netcdf", - "title": "Hourly wind gust at 10m max", - "description": "Maximum diagnosed instantaneous wind gust at 10m in the previous hour. This can be considered as the extreme wind speed that might be experienced in this period. ", - "unit": "m/s", - "height": "10.0m", - "roles": [ - "data" - ] - }, - "wind_gust_at_10m_max-PT03H": { - "type": "application/netcdf", - "title": "Three hourly wind gust at 10m max", - "description": "Maximum diagnosed instantaneous wind gust at 10m in the previous 3 hours. This can be considered as the extreme wind speed that might be experienced in this period.", - "unit": "m/s", - "height": "10.0m", - "roles": [ - "data" - ] - }, - "wind_speed_at_10m": { - "type": "application/netcdf", - "title": "Wind speed at 10m", - "description": "Wind at 10m above the surface is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. The speed is the magnitude of velocity.", - "unit": "m/s", - "height": "10.0m", - "roles": [ - "data" - ] - } - }, - "stac_version": "1.0.0", - "msft:group_id": "metoffice", - "msft:container": "", - "stac_extensions": [ - "https://stac-extensions.github.io/classification/v1.0.0/schema.json", - "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json", - "https://stac-extensions.github.io/table/v1.2.0/schema.json", - "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" - ], - "msft:storage_account": "metofficeeuwest", - "msft:short_description": "Met Office UK Deterministic Near Surface Level", - "msft:region": "westeurope" -} \ No newline at end of file diff --git a/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/description.md b/datasets/met-office/collection/met-office-uk-deterministic-near-surface/description.md similarity index 100% rename from datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/description.md rename to datasets/met-office/collection/met-office-uk-deterministic-near-surface/description.md diff --git a/datasets/met-office/collection/met-office-uk-deterministic-near-surface/template.json b/datasets/met-office/collection/met-office-uk-deterministic-near-surface/template.json new file mode 100644 index 00000000..c04b6e13 --- /dev/null +++ b/datasets/met-office/collection/met-office-uk-deterministic-near-surface/template.json @@ -0,0 +1,323 @@ +{ + "id": "met-office-uk-deterministic-near-surface", + "type": "Collection", + "description": "{{ collection.description }}", + "links": [ + { + "rel": "license", + "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", + "type": "text/html", + "title": "Creative Commons Attribution-ShareAlike 4.0" + }, + { + "rel": "describedby", + "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", + "title": "Met Office Dataset Documentation" + } + ], + "title": "Near-surface level collection Met Office UKV 2km deterministic forecast", + "assets": {}, + "extent": { + "spatial": { + "bbox": [[15, 50, 5, 62]] + }, + "temporal": { + "interval": [["2023-12-15T00:00:00Z", null]] + } + }, + "license": "proprietary", + "keywords": [ + "Met Office", + "Weather", + "Forecast", + "UK", + "Precipitation", + "Temperature", + "Wind", + "Pressure", + "Humidity" + ], + "providers": [ + { + "url": "https://www.metoffice.gov.uk/", + "name": "Met Office", + "roles": ["producer", "licensor", "processor"] + }, + { + "url": "https://planetarycomputer.microsoft.com", + "name": "Microsoft", + "roles": ["host", "processor"] + } + ], + "item_assets": { + "fog_fraction_at_screen_level": { + "type": "application/netcdf", + "title": "Fog fraction at screen level", + "description": "Here fog means a visibility of 1000 m or lower. The reduction in visibility is caused by water droplets or minute ice crystals forming close to the surface. This quantity represents the fraction of horizontal grid square occupied by fog. An alternative interpretation is that this represents the fractional probability of fog being present at any location in the grid square.", + "unit": "1", + "height": "1.5m", + "roles": ["data"] + }, + "hail_fall_accumulation-PT01H": { + "type": "application/netcdf", + "title": "Hourly hail fall accumulation", + "description": "Implied depth of the layer of liquid water equivalent (LWE) hail produced by the model precipitation scheme and deposited on the surface in the previous hour.", + "unit": "m", + "roles": ["data"] + }, + "hail_fall_rate": { + "type": "application/netcdf", + "title": "Hail fall rate", + "description": "Instantaneous rate at which liquid water equivalent (LWE) hail (as a depth) has been produced by the model precipitation scheme and deposited on the surface.", + "unit": "m/s", + "roles": ["data"] + }, + "height_of_orography": { + "type": "application/netcdf", + "title": "Height of orography", + "description": "Altitude or (geometric) height above the geoid of the surface (ground). It is worth remembering that orographic height can be negative, particularly in some of the inland sea areas (e.g. Caspian Sea at -27m and Dead Sea at -430m).", + "unit": "m", + "roles": ["data"] + }, + "landsea_mask": { + "type": "application/netcdf", + "title": "Land binary mask", + "description": "Binary indicator of whether a point is considered land (value = 1) or sea (value = 0). This is useful to identify the coastline and characterise points for correct interpretation of forecast data by users.", + "unit": "1", + "roles": ["data"] + }, + "precipitation_accumulation-PT01H": { + "type": "application/netcdf", + "title": "Hourly precipitation accumulation", + "description": "Implied depth of the layer of liquid water which has been deposited on the surface in the previous hour. This includes rain, snow and hail, with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", + "unit": "m", + "roles": ["data"] + }, + "precipitation_accumulation-PT03H": { + "type": "application/netcdf", + "title": "Three hourly precipitation accumulation", + "description": "Implied depth of the layer of liquid water which has been deposited on the surface in the previous 3 hours. This includes rain, snow and hail, with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", + "unit": "m", + "roles": ["data"] + }, + "precipitation_rate": { + "type": "application/netcdf", + "title": "Precipitation rate", + "description": "Instantaneous rate at which liquid water (as a depth) was being deposited on the surface. This includes rain, snow and hail with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", + "unit": "m/s", + "roles": ["data"] + }, + "pressure_at_mean_sea_level": { + "type": "application/netcdf", + "title": "Pressure at mean sea level", + "description": "Air pressure at mean sea level which is close to the geoid in sea areas. Air pressure at sea level is the quantity often abbreviated as MSLP or PMSL.", + "unit": "Pa", + "roles": ["data"] + }, + "pressure_at_surface": { + "type": "application/netcdf", + "title": "Pressure at surface", + "description": "Air pressure at the surface (lower boundary of the atmosphere).", + "unit": "Pa", + "roles": ["data"] + }, + "radiation_flux_in_longwave_downward_at_surface": { + "type": "application/netcdf", + "title": "Radiation flux in longwave downward at surface", + "description": "Longwave radiation at the surface from above directed at the ground.", + "unit": "W/m2", + "roles": ["data"] + }, + "radiation_flux_in_shortwave_diffuse_downward_at_surface": { + "type": "application/netcdf", + "title": "Radiation flux in shortwave diffuse downward at surface", + "description": "Diffuse component of shortwave radiation at the surface from above directed at the ground.", + "unit": "W/m2", + "roles": ["data"] + }, + "radiation_flux_in_shortwave_direct_downward_at_surface": { + "type": "application/netcdf", + "title": "Radiation flux in shortwave direct downward at surface", + "description": "Direct component of shortwave radiation at the surface from above directed at the ground.", + "unit": "W/m2", + "roles": ["data"] + }, + "radiation_flux_in_shortwave_total_downward_at_surface": { + "type": "application/netcdf", + "title": "Radiation flux in shortwave total downward at surface", + "description": "Total shortwave radiation at the surface from above directed at the ground.", + "unit": "W/m2", + "roles": ["data"] + }, + "radiation_flux_in_uv_downward_at_surface": { + "type": "application/netcdf", + "title": "Radiation flux in uv downward at surface", + "description": "Ultraviolet radiation at the surface from above directed at the ground.", + "unit": "W/m2", + "roles": ["data"] + }, + "rainfall_accumulation-PT01H": { + "type": "application/netcdf", + "title": "Hourly rainfall accumulation", + "description": "Implied depth of the rain produced by the model precipitation scheme which has been deposited on the surface in the previous hour. This excludes the rain produced by the model convection scheme.", + "unit": "m", + "roles": ["data"] + }, + "rainfall_accumulation-PT03H": { + "type": "application/netcdf", + "title": "Three hourly rainfall accumulation", + "description": "Implied depth of the rain produced by the model precipitation scheme which has been deposited on the surface in the previous 3 hours. This excludes the rain produced by the model convection scheme.", + "unit": "m", + "roles": ["data"] + }, + "rainfall_rate": { + "type": "application/netcdf", + "title": "Rainfall rate", + "description": "Instantaneous rate at which rain (as a depth) was being produced by the model precipitation scheme and deposited on the surface. This excludes the rain produced by the model convection scheme.", + "unit": "m/s", + "roles": ["data"] + }, + "relative_humidity_at_screen_level": { + "type": "application/netcdf", + "title": "Relative humidity at screen level", + "description": "Fractional relative humidity (ratio of the partial pressure of water vapour to the equilibrium vapour pressure of water) at screen level (1.5m above the surface.)", + "unit": "1", + "height": "1.5m", + "roles": ["data"] + }, + "sensible_heat_flux_at_surface": { + "type": "application/netcdf", + "title": "Sensible heat flux at surface", + "description": "Exchange of heat between the surface and the air by motion of air, also called turbulent heat flux.", + "unit": "W/m2", + "roles": ["data"] + }, + "snow_depth_water_equivalent": { + "type": "application/netcdf", + "title": "Snow depth water equivalent", + "description": "Liquid water equivalent ( LWE) depth of the snow lying on the surface (ground). Typically water is 10 times as dense as snow, so multiplying by 10 gives an approximate depth of the snow, although wet snow can be significantly denser and powder snow much less dense.", + "unit": "m", + "roles": ["data"] + }, + "snowfall_accumulation-PT01H": { + "type": "application/netcdf", + "title": "Hourly snowfall accumulation", + "description": "Implied depth of the (LWE) snow (as a depth) produced by the model precipitation scheme and deposited on the surface in the previous hour. This excludes the snow produced by the model convection scheme. ", + "unit": "m", + "roles": ["data"] + }, + "snowfall_accumulation-PT03H": { + "type": "application/netcdf", + "title": "Three hourly snowfall accumulation", + "description": "Implied depth of the (LWE) snow (as a depth) produced by the model precipitation scheme and deposited on the surface in the previous 3 hours. This excludes the snow produced by the model convection scheme.", + "unit": "m", + "roles": ["data"] + }, + "snowfall_rate": { + "type": "application/netcdf", + "title": "Snowfall rate", + "description": "Instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) was produced by the model precipitation scheme and deposited on the surface. This excludes the snow produced by the model convection scheme.", + "unit": "m/s", + "roles": ["data"] + }, + "temperature_at_screen_level": { + "type": "application/netcdf", + "title": "Temperature at screen level", + "description": "Instantaneous air temperature at screen level (1.5m).", + "unit": "K", + "height": "1.5m", + "roles": ["data"] + }, + "temperature_at_screen_level_max-PT01H": { + "type": "application/netcdf", + "title": "Hourly temperature at screen level max", + "description": "Maximum instantaneous air temperature at screen level (1.5m) in the previous hour.", + "unit": "K", + "height": "1.5m", + "roles": ["data"] + }, + "temperature_at_screen_level_min-PT01H": { + "type": "application/netcdf", + "title": "Hourly temperature at screen level min", + "description": "Minimum instantaneous air temperature at screen level (1.5m) in the previous hour.", + "unit": "K", + "height": "1.5m", + "roles": ["data"] + }, + "temperature_at_surface": { + "type": "application/netcdf", + "title": "Temperature at surface", + "description": "Temperature at the surface interface between the air and the ground.", + "unit": "K", + "roles": ["data"] + }, + "temperature_of_dew_point_at_screen_level": { + "type": "application/netcdf", + "title": "Dew point temperature at screen level", + "description": "Instantaneous dew point temperature (temperature at which a parcel of air reaches saturation upon being cooled at constant pressure and specific humidity) at screen level (1.5m).", + "unit": "K", + "height": "1.5m", + "roles": ["data"] + }, + "visibility_at_screen_level": { + "type": "application/netcdf", + "title": "Visibility at screen level", + "description": "Horizontal distance at which something can be seen horizontally from screen level (1.5m).", + "unit": "m", + "height": "1.5m", + "roles": ["data"] + }, + "wind_direction_at_10m": { + "type": "application/netcdf", + "title": "Wind direction at 10m", + "description": "Wind at 10m above the surface is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. In meteorological reports the direction of the wind vector is given as the direction from which it is blowing. Note: This with wind speed at 10m replaces x wind at 10m and y wind at 10m.", + "unit": "degrees", + "height": "10.0m", + "roles": ["data"] + }, + "wind_gust_at_10m": { + "type": "application/netcdf", + "title": "Wind gust at 10m", + "description": "Diagnosed instantaneous wind gust at 10m. This can be considered as the extreme rather than steady wind speed that might be experienced at this specific time.", + "unit": "m/s", + "height": "10.0m", + "roles": ["data"] + }, + "wind_gust_at_10m_max-PT01H": { + "type": "application/netcdf", + "title": "Hourly wind gust at 10m max", + "description": "Maximum diagnosed instantaneous wind gust at 10m in the previous hour. This can be considered as the extreme wind speed that might be experienced in this period. ", + "unit": "m/s", + "height": "10.0m", + "roles": ["data"] + }, + "wind_gust_at_10m_max-PT03H": { + "type": "application/netcdf", + "title": "Three hourly wind gust at 10m max", + "description": "Maximum diagnosed instantaneous wind gust at 10m in the previous 3 hours. This can be considered as the extreme wind speed that might be experienced in this period.", + "unit": "m/s", + "height": "10.0m", + "roles": ["data"] + }, + "wind_speed_at_10m": { + "type": "application/netcdf", + "title": "Wind speed at 10m", + "description": "Wind at 10m above the surface is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. The speed is the magnitude of velocity.", + "unit": "m/s", + "height": "10.0m", + "roles": ["data"] + } + }, + "stac_version": "1.0.0", + "msft:group_id": "metoffice", + "msft:container": "staging", + "stac_extensions": [ + "https://stac-extensions.github.io/classification/v1.0.0/schema.json", + "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json", + "https://stac-extensions.github.io/table/v1.2.0/schema.json", + "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" + ], + "msft:storage_account": "ukmoforecasts", + "msft:short_description": "Met Office UK Deterministic Near Surface Level", + "msft:region": "westeurope" +} diff --git a/datasets/met-office/collection/met-office-uk-deterministic-pressure-level/template.json b/datasets/met-office/collection/met-office-uk-deterministic-pressure-level/template.json deleted file mode 100644 index f4df35a9..00000000 --- a/datasets/met-office/collection/met-office-uk-deterministic-pressure-level/template.json +++ /dev/null @@ -1,155 +0,0 @@ -{ - "id": "met-office-UK-deterministic-pressure-level", - "type": "Collection", - "links": [ - { - "rel": "license", - "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", - "type": "text/html", - "title": "Creative Commons Attribution-ShareAlike 4.0" - }, - { - "rel": "describedby", - "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", - "title": "Met Office Dataset Documentation" - } - ], - "title": "Pressure levels collection Met Office UKV 2km deterministic forecast", - "assets": { - "thumbnail": { - "href": "", - "type": "image/png", - "roles": [ - "thumbnail" - ], - "title": "Pressure levels collection Met Office UKV 2km deterministic forecast Thumbnail" - } - }, - "extent": { - "spatial": { - "bbox": [ - [ - 15, - 50, - 5, - 62 - ] - ] - }, - "temporal": { - "interval": [ - [ - "2023-12-15T00:00:00Z", - null - ] - ] - } - }, - "license": "proprietary", - "keywords": [ - "Met Office", - "Weather", - "Forecast", - "UK", - "Temperature", - "Wind", - "Pressure", - "Humidity" - ], - "providers": [ - { - "url": "https://www.metoffice.gov.uk/", - "name": "Met Office", - "roles": [ - "producer", - "licensor", - "processor" - ] - }, - { - "url": "https://planetarycomputer.microsoft.com", - "name": "Microsoft", - "roles": [ - "host", - "processor" - ] - } - ], - "item_assets": { - "geopotential_height_on_pressure_levels ": { - "type": "application/netcdf", - "title": "Geopotential height of the pressure levels", - "description": "Note: from January 2026, this parameter will replace height_ASL_on_pressure_levels.", - "unit": "m", - "roles": [ - "data" - ] - }, - "height_ASL_on_pressure_levels": { - "type": "application/netcdf", - "title": "Height above sea level of the pressure levels", - "description": "Note: from January 2026, this parameter will be replaced by geopotential_height_on_pressure_levels.", - "unit": "m", - "roles": [ - "data" - ] - }, - "relative_humidity_on_pressure_levels": { - "type": "application/netcdf", - "title": "Fractional relative humidity on pressure levels.", - "description": "Ratio of the partial pressure of water vapour to the equilibrium vapour pressure of water.", - "unit": "1", - "roles": [ - "data" - ] - }, - "temperature_on_pressure_levels": { - "type": "application/netcdf", - "title": "Temperature on pressure levels", - "description": "Air temperature on pressure levels.", - "unit": "K", - "roles": [ - "data" - ] - }, - "wet_bulb_potential_temperature_on_pressure_levels": { - "type": "application/netcdf", - "title": "Wet bulb potential temperature on pressure levels", - "description": "Wet bulb potential temperature is defined as the temperature that a parcel of air would have if it were brought down to the standard pressure of 1000hPa following a saturated adiabatic lapse rate. Available on levels: 85000.0, 70000.0, 50000.0 Pa", - "unit": "K", - "roles": [ - "data" - ] - }, - "wind_direction_on_pressure_levels": { - "type": "application/netcdf", - "title": "Wind direction on pressure levels", - "description": "Wind direction on pressure levels is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. In meteorological reports the direction of the wind vector is given as the direction from which it is blowing.", - "unit": "degrees", - "roles": [ - "data" - ] - }, - "wind_speed_on_pressure_levels": { - "type": "application/netcdf", - "title": "Wind speed on pressure levels", - "description": "Wind speed on pressure levels is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. The speed is the magnitude of velocity.", - "unit": "m/s", - "roles": [ - "data" - ] - } - }, - "stac_version": "1.0.0", - "msft:group_id": "metoffice", - "msft:container": "", - "stac_extensions": [ - "https://stac-extensions.github.io/classification/v1.0.0/schema.json", - "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json", - "https://stac-extensions.github.io/table/v1.2.0/schema.json", - "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" - ], - "msft:storage_account": "metofficeeuwest", - "msft:short_description": "Met Office UK Deterministic Pressure Level", - "msft:region": "westeurope" -} \ No newline at end of file diff --git a/datasets/met-office/collection/met-office-uk-deterministic-pressure-level/description.md b/datasets/met-office/collection/met-office-uk-deterministic-pressure/description.md similarity index 100% rename from datasets/met-office/collection/met-office-uk-deterministic-pressure-level/description.md rename to datasets/met-office/collection/met-office-uk-deterministic-pressure/description.md diff --git a/datasets/met-office/collection/met-office-uk-deterministic-pressure/template.json b/datasets/met-office/collection/met-office-uk-deterministic-pressure/template.json new file mode 100644 index 00000000..df077658 --- /dev/null +++ b/datasets/met-office/collection/met-office-uk-deterministic-pressure/template.json @@ -0,0 +1,114 @@ +{ + "id": "met-office-uk-deterministic-pressure", + "type": "Collection", + "description": "{{ collection.description }}", + "links": [ + { + "rel": "license", + "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", + "type": "text/html", + "title": "Creative Commons Attribution-ShareAlike 4.0" + }, + { + "rel": "describedby", + "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", + "title": "Met Office Dataset Documentation" + } + ], + "title": "Pressure levels collection Met Office UKV 2km deterministic forecast", + "assets": {}, + "extent": { + "spatial": { + "bbox": [[15, 50, 5, 62]] + }, + "temporal": { + "interval": [["2023-12-15T00:00:00Z", null]] + } + }, + "license": "proprietary", + "keywords": [ + "Met Office", + "Weather", + "Forecast", + "UK", + "Temperature", + "Wind", + "Pressure", + "Humidity" + ], + "providers": [ + { + "url": "https://www.metoffice.gov.uk/", + "name": "Met Office", + "roles": ["producer", "licensor", "processor"] + }, + { + "url": "https://planetarycomputer.microsoft.com", + "name": "Microsoft", + "roles": ["host", "processor"] + } + ], + "item_assets": { + "geopotential_height_on_pressure_levels ": { + "type": "application/netcdf", + "title": "Geopotential height of the pressure levels", + "description": "Note: from January 2026, this parameter will replace height_ASL_on_pressure_levels.", + "unit": "m", + "roles": ["data"] + }, + "height_ASL_on_pressure_levels": { + "type": "application/netcdf", + "title": "Height above sea level of the pressure levels", + "description": "Note: from January 2026, this parameter will be replaced by geopotential_height_on_pressure_levels.", + "unit": "m", + "roles": ["data"] + }, + "relative_humidity_on_pressure_levels": { + "type": "application/netcdf", + "title": "Fractional relative humidity on pressure levels.", + "description": "Ratio of the partial pressure of water vapour to the equilibrium vapour pressure of water.", + "unit": "1", + "roles": ["data"] + }, + "temperature_on_pressure_levels": { + "type": "application/netcdf", + "title": "Temperature on pressure levels", + "description": "Air temperature on pressure levels.", + "unit": "K", + "roles": ["data"] + }, + "wet_bulb_potential_temperature_on_pressure_levels": { + "type": "application/netcdf", + "title": "Wet bulb potential temperature on pressure levels", + "description": "Wet bulb potential temperature is defined as the temperature that a parcel of air would have if it were brought down to the standard pressure of 1000hPa following a saturated adiabatic lapse rate. Available on levels: 85000.0, 70000.0, 50000.0 Pa", + "unit": "K", + "roles": ["data"] + }, + "wind_direction_on_pressure_levels": { + "type": "application/netcdf", + "title": "Wind direction on pressure levels", + "description": "Wind direction on pressure levels is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. In meteorological reports the direction of the wind vector is given as the direction from which it is blowing.", + "unit": "degrees", + "roles": ["data"] + }, + "wind_speed_on_pressure_levels": { + "type": "application/netcdf", + "title": "Wind speed on pressure levels", + "description": "Wind speed on pressure levels is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. The speed is the magnitude of velocity.", + "unit": "m/s", + "roles": ["data"] + } + }, + "stac_version": "1.0.0", + "msft:group_id": "metoffice", + "msft:container": "staging", + "stac_extensions": [ + "https://stac-extensions.github.io/classification/v1.0.0/schema.json", + "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json", + "https://stac-extensions.github.io/table/v1.2.0/schema.json", + "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" + ], + "msft:storage_account": "ukmoforecasts", + "msft:short_description": "Met Office UK Deterministic Pressure Level", + "msft:region": "westeurope" +} diff --git a/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere-level/template.json b/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere-level/template.json deleted file mode 100644 index 76fed3f1..00000000 --- a/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere-level/template.json +++ /dev/null @@ -1,192 +0,0 @@ -{ - "id": "met-office-uk-deterministic-whole-atmosphere-level", - "type": "Collection", - "links": [ - { - "rel": "license", - "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", - "type": "text/html", - "title": "Creative Commons Attribution-ShareAlike 4.0" - }, - { - "rel": "describedby", - "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", - "title": "Met Office Dataset Documentation" - } - ], - "title": "Whole-atmosphere collection Met Office UKV 2km deterministic forecast", - "assets": { - "thumbnail": { - "href": "", - "type": "image/png", - "roles": [ - "thumbnail" - ], - "title": "Whole-atmosphere collection Met Office UKV 2km deterministic forecast thumbnail" - } - }, - "extent": { - "spatial": { - "bbox": [ - [ - 15, - 50, - 5, - 62 - ] - ] - }, - "temporal": { - "interval": [ - [ - "2023-12-15T00:00:00Z", - null - ] - ] - } - }, - "license": "proprietary", - "keywords": [ - "Met Office", - "Weather", - "Forecast", - "UK", - "CAPE", - "Cloud", - "Freezing", - "Wet Bulb", - "Lightning" - ], - "providers": [ - { - "url": "https://www.metoffice.gov.uk/", - "name": "Met Office", - "roles": [ - "producer", - "licensor", - "processor" - ] - }, - { - "url": "https://planetarycomputer.microsoft.com", - "name": "Microsoft", - "roles": [ - "host", - "processor" - ] - } - ], - "item_assets": { - "CAPE_most_unstable_below_500hPa": { - "type": "application/netcdf", - "title": "Convective Available Potential Energy most unstable below 500hPa", - "description": "CAPE (Convective Available Potential Energy) calculated for the most unstable parcel where the most unstable parcel is defined as the parcel with the highest fixed level CAPE launched from any level (including screen-level=1.5m) within 500hPa of the surface pressure.", - "unit": "J/kg", - "roles": [ - "data" - ] - }, - "CAPE_surface": { - "type": "application/netcdf", - "title": "Convective Available Potential Energy with respect to surface", - "description": "Value of CAPE (Convective Available Potential Energy) calculated for a surface based parcel where a surface based parcel is defined as a parcel initiated with thermodynamic properties at screen level height (1.5m) i.e. the parcel is launched from screen level.", - "unit": "J/kg", - "roles": [ - "data" - ] - }, - "cloud_amount_below_1000ft_ASL": { - "type": "application/netcdf", - "title": "Cloud amount below 1000ft Above Sea Level", - "description": "Fraction of horizontal grid square occupied by cloud below 1000 feet above sea level.", - "unit": "1", - "roles": [ - "data" - ] - }, - "cloud_amount_of_high_cloud": { - "type": "application/netcdf", - "title": "Cloud amount of high cloud", - "description": "Fraction of horizontal grid square occupied by cloud in the high-level cloud height range (from the lowest model layer containing the 5574m height level up to but excluding the lowest model layer containing 13608m height level).", - "unit": "1", - "roles": [ - "data" - ] - }, - "cloud_amount_of_low_cloud": { - "type": "application/netcdf", - "title": "Cloud amount of low cloud", - "description": "Fraction of horizontal grid square occupied by cloud in the low-level cloud height range (from the lowest model layer containing the 111m height level up to but excluding the lowest model layer containing 1949m height level).", - "unit": "1", - "roles": [ - "data" - ] - }, - "cloud_amount_of_medium_cloud": { - "type": "application/netcdf", - "title": "Cloud amount of medium cloud", - "description": "Fraction of horizontal grid square occupied by cloud in the mid-level cloud height range (from the lowest model layer containing the 1949m height level up to but excluding the lowest model layer containing 5574m height level).", - "unit": "1", - "roles": [ - "data" - ] - }, - "cloud_amount_of_total_cloud": { - "type": "application/netcdf", - "title": "Cloud amount of total cloud", - "description": "Fraction of horizontal grid square occupied by cloud as diagnosed by the model cloud scheme. This is for the whole atmosphere column as seen from the surface or the top of the atmosphere.", - "unit": "1", - "roles": [ - "data" - ] - }, - "height_AGL_at_cloud_base_where_cloud_cover_2p5_oktas": { - "type": "application/netcdf", - "title": "Height above ground level at cloud base where cloud cover 2p5 oktas", - "description": "Height of the base of the lowest cloud above the surface (ground) where there is at least 2.5 oktas (eighths) of cloud cover. This corresponds to scattered cloud.", - "unit": "m", - "roles": [ - "data" - ] - }, - "height_AGL_at_freezing_level": { - "type": "application/netcdf", - "title": "Height above ground level at freezing level", - "description": "Height of the 0oC isotherm (freezing level) above the surface (ground).", - "unit": "m", - "roles": [ - "data" - ] - }, - "height_AGL_at_wet_bulb_freezing_level": { - "type": "application/netcdf", - "title": "Height above ground level at wet bulb freezing level", - "description": "Height of the wet bulb freezing level (i.e. where the wet bulb temperature is 0oC) above sea level. This is also referred to as the altitude of the wet bulb freezing level or (geometric) height above the geoid, which is the reference geopotential surface. Wet bulb temperature is defined as the temperature of a parcel of air cooled to saturation (100% relative humidity) by the evaporation of water into it with the latent heat supplied by the parcel.", - "unit": "m", - "roles": [ - "data" - ] - }, - "lightning_flash_accumulation-PT01H": { - "type": "application/netcdf", - "title": "Hourly number of lightning flashes per unit area", - "description": "This represents the total (cloud-to-cloud and cloud-to-ground) lightning flashes per square metre within the previous hour", - "unit": "count/m2", - "roles": [ - "data" - ] - } - }, - "stac_version": "1.0.0", - "msft:group_id": "metoffice", - "msft:container": "", - "stac_extensions": [ - "https://stac-extensions.github.io/classification/v1.0.0/schema.json", - "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json", - "https://stac-extensions.github.io/table/v1.2.0/schema.json", - "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" - ], - "msft:storage_account": "metofficeeuwest", - "msft:short_description": "Met Office UK Deterministic Whole Atmosphere Level", - "msft:region": "westeurope" -} \ No newline at end of file diff --git a/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere-level/description.md b/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere/description.md similarity index 100% rename from datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere-level/description.md rename to datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere/description.md diff --git a/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere/template.json b/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere/template.json new file mode 100644 index 00000000..0455d2a4 --- /dev/null +++ b/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere/template.json @@ -0,0 +1,143 @@ +{ + "id": "met-office-uk-deterministic-whole-atmosphere", + "type": "Collection", + "description": "{{ collection.description }}", + "links": [ + { + "rel": "license", + "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", + "type": "text/html", + "title": "Creative Commons Attribution-ShareAlike 4.0" + }, + { + "rel": "describedby", + "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", + "title": "Met Office Dataset Documentation" + } + ], + "title": "Whole-atmosphere collection Met Office UKV 2km deterministic forecast", + "assets": {}, + "extent": { + "spatial": { + "bbox": [[15, 50, 5, 62]] + }, + "temporal": { + "interval": [["2023-12-15T00:00:00Z", null]] + } + }, + "license": "proprietary", + "keywords": [ + "Met Office", + "Weather", + "Forecast", + "UK", + "CAPE", + "Cloud", + "Freezing", + "Wet Bulb", + "Lightning" + ], + "providers": [ + { + "url": "https://www.metoffice.gov.uk/", + "name": "Met Office", + "roles": ["producer", "licensor", "processor"] + }, + { + "url": "https://planetarycomputer.microsoft.com", + "name": "Microsoft", + "roles": ["host", "processor"] + } + ], + "item_assets": { + "CAPE_most_unstable_below_500hPa": { + "type": "application/netcdf", + "title": "Convective Available Potential Energy most unstable below 500hPa", + "description": "CAPE (Convective Available Potential Energy) calculated for the most unstable parcel where the most unstable parcel is defined as the parcel with the highest fixed level CAPE launched from any level (including screen-level=1.5m) within 500hPa of the surface pressure.", + "unit": "J/kg", + "roles": ["data"] + }, + "CAPE_surface": { + "type": "application/netcdf", + "title": "Convective Available Potential Energy with respect to surface", + "description": "Value of CAPE (Convective Available Potential Energy) calculated for a surface based parcel where a surface based parcel is defined as a parcel initiated with thermodynamic properties at screen level height (1.5m) i.e. the parcel is launched from screen level.", + "unit": "J/kg", + "roles": ["data"] + }, + "cloud_amount_below_1000ft_ASL": { + "type": "application/netcdf", + "title": "Cloud amount below 1000ft Above Sea Level", + "description": "Fraction of horizontal grid square occupied by cloud below 1000 feet above sea level.", + "unit": "1", + "roles": ["data"] + }, + "cloud_amount_of_high_cloud": { + "type": "application/netcdf", + "title": "Cloud amount of high cloud", + "description": "Fraction of horizontal grid square occupied by cloud in the high-level cloud height range (from the lowest model layer containing the 5574m height level up to but excluding the lowest model layer containing 13608m height level).", + "unit": "1", + "roles": ["data"] + }, + "cloud_amount_of_low_cloud": { + "type": "application/netcdf", + "title": "Cloud amount of low cloud", + "description": "Fraction of horizontal grid square occupied by cloud in the low-level cloud height range (from the lowest model layer containing the 111m height level up to but excluding the lowest model layer containing 1949m height level).", + "unit": "1", + "roles": ["data"] + }, + "cloud_amount_of_medium_cloud": { + "type": "application/netcdf", + "title": "Cloud amount of medium cloud", + "description": "Fraction of horizontal grid square occupied by cloud in the mid-level cloud height range (from the lowest model layer containing the 1949m height level up to but excluding the lowest model layer containing 5574m height level).", + "unit": "1", + "roles": ["data"] + }, + "cloud_amount_of_total_cloud": { + "type": "application/netcdf", + "title": "Cloud amount of total cloud", + "description": "Fraction of horizontal grid square occupied by cloud as diagnosed by the model cloud scheme. This is for the whole atmosphere column as seen from the surface or the top of the atmosphere.", + "unit": "1", + "roles": ["data"] + }, + "height_AGL_at_cloud_base_where_cloud_cover_2p5_oktas": { + "type": "application/netcdf", + "title": "Height above ground level at cloud base where cloud cover 2p5 oktas", + "description": "Height of the base of the lowest cloud above the surface (ground) where there is at least 2.5 oktas (eighths) of cloud cover. This corresponds to scattered cloud.", + "unit": "m", + "roles": ["data"] + }, + "height_AGL_at_freezing_level": { + "type": "application/netcdf", + "title": "Height above ground level at freezing level", + "description": "Height of the 0oC isotherm (freezing level) above the surface (ground).", + "unit": "m", + "roles": ["data"] + }, + "height_AGL_at_wet_bulb_freezing_level": { + "type": "application/netcdf", + "title": "Height above ground level at wet bulb freezing level", + "description": "Height of the wet bulb freezing level (i.e. where the wet bulb temperature is 0oC) above sea level. This is also referred to as the altitude of the wet bulb freezing level or (geometric) height above the geoid, which is the reference geopotential surface. Wet bulb temperature is defined as the temperature of a parcel of air cooled to saturation (100% relative humidity) by the evaporation of water into it with the latent heat supplied by the parcel.", + "unit": "m", + "roles": ["data"] + }, + "lightning_flash_accumulation-PT01H": { + "type": "application/netcdf", + "title": "Hourly number of lightning flashes per unit area", + "description": "This represents the total (cloud-to-cloud and cloud-to-ground) lightning flashes per square metre within the previous hour", + "unit": "count/m2", + "roles": ["data"] + } + }, + "stac_version": "1.0.0", + "msft:group_id": "metoffice", + "msft:container": "staging", + "stac_extensions": [ + "https://stac-extensions.github.io/classification/v1.0.0/schema.json", + "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json", + "https://stac-extensions.github.io/table/v1.2.0/schema.json", + "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" + ], + "msft:storage_account": "ukmoforecasts", + "msft:short_description": "Met Office UK Deterministic Whole Atmosphere Level", + "msft:region": "westeurope" +} diff --git a/datasets/met-office/dataset.yaml b/datasets/met-office/dataset.yaml index 37b4a227..d47d112b 100644 --- a/datasets/met-office/dataset.yaml +++ b/datasets/met-office/dataset.yaml @@ -1,18 +1,32 @@ id: met-office -image: ${{ args.registry }}/pctasks-task-base:2025.4.8.2 +image: ${{ args.registry }}/pctasks-task-base:latest args: - registry code: src: ${{ local.path(./met_office.py) }} + requirements: ${{ local.path(./requirements.txt) }} environment: APPLICATIONINSIGHTS_CONNECTION_STRING: ${{ secrets.task-application-insights-connection-string }} + DB_CONNECTION_STRING: ${{ secrets.staging-db-connection-string }} collections: - - id: met-office-global-deterministic-height-level - template: ${{ local.path(./collection/met-office-global-deterministic-near-surface-level) }} + - id: met-office-global-deterministic-height + template: ${{ local.path(./collection/met-office-global-deterministic-height) }} + class: met_office:MetOfficeCollection + asset_storage: + - uri: blob://ukmoforecasts/staging/global/height + chunks: + options: + min_depth: 1 + max_depth: 1 + chunk_length: 20000 + chunk_storage: + uri: blob://ukmoforecasts/staging/staging-chunks/ + - id: met-office-global-deterministic-near-surface + template: ${{ local.path(./collection/met-office-global-deterministic-near-surface) }} class: met_office:MetOfficeCollection asset_storage: - uri: blob://ukmoforecasts/staging/global/near-surface @@ -23,3 +37,75 @@ collections: chunk_length: 20000 chunk_storage: uri: blob://ukmoforecasts/staging/staging-chunks/ + - id: met-office-global-deterministic-pressure + template: ${{ local.path(./collection/met-office-global-deterministic-pressure) }} + class: met_office:MetOfficeCollection + asset_storage: + - uri: blob://ukmoforecasts/staging/global/pressure + chunks: + options: + min_depth: 1 + max_depth: 1 + chunk_length: 20000 + chunk_storage: + uri: blob://ukmoforecasts/staging/staging-chunks/ + - id: met-office-global-deterministic-whole-atmosphere + template: ${{ local.path(./collection/met-office-global-deterministic-whole-atmosphere) }} + class: met_office:MetOfficeCollection + asset_storage: + - uri: blob://ukmoforecasts/staging/global/whole-atmosphere + chunks: + options: + min_depth: 1 + max_depth: 1 + chunk_length: 20000 + chunk_storage: + uri: blob://ukmoforecasts/staging/staging-chunks/ + - id: met-office-uk-deterministic-height + template: ${{ local.path(./collection/met-office-uk-deterministic-height) }} + class: met_office:MetOfficeCollection + asset_storage: + - uri: blob://ukmoforecasts/staging/uk/height + chunks: + options: + min_depth: 1 + max_depth: 1 + chunk_length: 20000 + chunk_storage: + uri: blob://ukmoforecasts/staging/staging-chunks/ + - id: met-office-uk-deterministic-near-surface + template: ${{ local.path(./collection/met-office-uk-deterministic-near-surface) }} + class: met_office:MetOfficeCollection + asset_storage: + - uri: blob://ukmoforecasts/staging/uk/near-surface + chunks: + options: + min_depth: 1 + max_depth: 1 + chunk_length: 20000 + chunk_storage: + uri: blob://ukmoforecasts/staging/staging-chunks/ + - id: met-office-uk-deterministic-pressure + template: ${{ local.path(./collection/met-office-uk-deterministic-pressure) }} + class: met_office:MetOfficeCollection + asset_storage: + - uri: blob://ukmoforecasts/staging/uk/pressure + chunks: + options: + min_depth: 1 + max_depth: 1 + chunk_length: 20000 + chunk_storage: + uri: blob://ukmoforecasts/staging/staging-chunks/ + - id: met-office-uk-deterministic-whole-atmosphere + template: ${{ local.path(./collection/met-office-uk-deterministic-whole-atmosphere) }} + class: met_office:MetOfficeCollection + asset_storage: + - uri: blob://ukmoforecasts/staging/uk/whole-atmosphere + chunks: + options: + min_depth: 1 + max_depth: 1 + chunk_length: 20000 + chunk_storage: + uri: blob://ukmoforecasts/staging/staging-chunks/ From c71cc1d5e57cb1c211edc6556c68466232622c1e Mon Sep 17 00:00:00 2001 From: Pete Gadomski Date: Fri, 5 Dec 2025 07:11:41 -0700 Subject: [PATCH 14/28] fix: ingestion --- .../template.json | 2 +- .../template.json | 2 +- .../template.json | 2 +- .../template.json | 2 +- .../template.json | 2 +- .../template.json | 2 +- .../template.json | 2 +- .../template.json | 2 +- datasets/met-office/dataset.yaml | 88 ++++++++++--------- datasets/met-office/met_office.py | 56 +++++++++++- datasets/met-office/requirements.txt | 2 +- 11 files changed, 112 insertions(+), 50 deletions(-) diff --git a/datasets/met-office/collection/met-office-global-deterministic-height/template.json b/datasets/met-office/collection/met-office-global-deterministic-height/template.json index bddf7f11..32324641 100644 --- a/datasets/met-office/collection/met-office-global-deterministic-height/template.json +++ b/datasets/met-office/collection/met-office-global-deterministic-height/template.json @@ -52,7 +52,7 @@ "stac_extensions": [ "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json" ], - "msft:storage_account": "ukmoforecasts", + "msft:storage_account": "ukmoeuwest", "msft:short_description": "Met Office Global Deterministic Height Level", "msft:region": "westeurope" } diff --git a/datasets/met-office/collection/met-office-global-deterministic-near-surface/template.json b/datasets/met-office/collection/met-office-global-deterministic-near-surface/template.json index 39a3fe0e..48eaed86 100644 --- a/datasets/met-office/collection/met-office-global-deterministic-near-surface/template.json +++ b/datasets/met-office/collection/met-office-global-deterministic-near-surface/template.json @@ -401,7 +401,7 @@ "https://stac-extensions.github.io/table/v1.2.0/schema.json", "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" ], - "msft:storage_account": "ukmoforecasts", + "msft:storage_account": "ukmoeuwest", "msft:short_description": "Met Office Global Deterministic Near Surface Level", "msft:region": "westeurope" } diff --git a/datasets/met-office/collection/met-office-global-deterministic-pressure/template.json b/datasets/met-office/collection/met-office-global-deterministic-pressure/template.json index 1e66608a..9add3288 100644 --- a/datasets/met-office/collection/met-office-global-deterministic-pressure/template.json +++ b/datasets/met-office/collection/met-office-global-deterministic-pressure/template.json @@ -85,7 +85,7 @@ "https://stac-extensions.github.io/table/v1.2.0/schema.json", "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" ], - "msft:storage_account": "ukmoforecasts", + "msft:storage_account": "ukmoeuwest", "msft:short_description": "Met Office Global Deterministic Pressure Level", "msft:region": "westeurope" } diff --git a/datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere/template.json b/datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere/template.json index c8185a9a..e903b2b2 100644 --- a/datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere/template.json +++ b/datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere/template.json @@ -120,7 +120,7 @@ "https://stac-extensions.github.io/table/v1.2.0/schema.json", "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" ], - "msft:storage_account": "ukmoforecasts", + "msft:storage_account": "ukmoeuwest", "msft:short_description": "Met Office Global Deterministic Whole Atmosphere Level", "msft:region": "westeurope" } diff --git a/datasets/met-office/collection/met-office-uk-deterministic-height/template.json b/datasets/met-office/collection/met-office-uk-deterministic-height/template.json index 46569ba3..f3b8bdf5 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-height/template.json +++ b/datasets/met-office/collection/met-office-uk-deterministic-height/template.json @@ -87,7 +87,7 @@ "https://stac-extensions.github.io/table/v1.2.0/schema.json", "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" ], - "msft:storage_account": "ukmoforecasts", + "msft:storage_account": "ukmoeuwest", "msft:short_description": "Met Office UK Deterministic Height Level", "msft:region": "westeurope" } diff --git a/datasets/met-office/collection/met-office-uk-deterministic-near-surface/template.json b/datasets/met-office/collection/met-office-uk-deterministic-near-surface/template.json index c04b6e13..555f3c7f 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-near-surface/template.json +++ b/datasets/met-office/collection/met-office-uk-deterministic-near-surface/template.json @@ -317,7 +317,7 @@ "https://stac-extensions.github.io/table/v1.2.0/schema.json", "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" ], - "msft:storage_account": "ukmoforecasts", + "msft:storage_account": "ukmoeuwest", "msft:short_description": "Met Office UK Deterministic Near Surface Level", "msft:region": "westeurope" } diff --git a/datasets/met-office/collection/met-office-uk-deterministic-pressure/template.json b/datasets/met-office/collection/met-office-uk-deterministic-pressure/template.json index df077658..bcfd8d60 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-pressure/template.json +++ b/datasets/met-office/collection/met-office-uk-deterministic-pressure/template.json @@ -108,7 +108,7 @@ "https://stac-extensions.github.io/table/v1.2.0/schema.json", "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" ], - "msft:storage_account": "ukmoforecasts", + "msft:storage_account": "ukmoeuwest", "msft:short_description": "Met Office UK Deterministic Pressure Level", "msft:region": "westeurope" } diff --git a/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere/template.json b/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere/template.json index 0455d2a4..33c8c66f 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere/template.json +++ b/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere/template.json @@ -137,7 +137,7 @@ "https://stac-extensions.github.io/table/v1.2.0/schema.json", "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" ], - "msft:storage_account": "ukmoforecasts", + "msft:storage_account": "ukmoeuwest", "msft:short_description": "Met Office UK Deterministic Whole Atmosphere Level", "msft:region": "westeurope" } diff --git a/datasets/met-office/dataset.yaml b/datasets/met-office/dataset.yaml index d47d112b..2977dc18 100644 --- a/datasets/met-office/dataset.yaml +++ b/datasets/met-office/dataset.yaml @@ -15,97 +15,105 @@ environment: collections: - id: met-office-global-deterministic-height template: ${{ local.path(./collection/met-office-global-deterministic-height) }} - class: met_office:MetOfficeCollection + class: met_office:MetOfficeGlobalHeightCollection asset_storage: - - uri: blob://ukmoforecasts/staging/global/height + - uri: blob://ukmoeuwest/staging/global/height chunks: options: - min_depth: 1 - max_depth: 1 + min_depth: 0 + max_depth: 0 chunk_length: 20000 + list_folders: true chunk_storage: - uri: blob://ukmoforecasts/staging/staging-chunks/ + uri: blob://ukmoeuwest/staging/staging-chunks/ - id: met-office-global-deterministic-near-surface template: ${{ local.path(./collection/met-office-global-deterministic-near-surface) }} - class: met_office:MetOfficeCollection + class: met_office:MetOfficeGlobalNearSurfaceCollection asset_storage: - - uri: blob://ukmoforecasts/staging/global/near-surface + - uri: blob://ukmoeuwest/staging/global/near-surface chunks: options: - min_depth: 1 - max_depth: 1 + min_depth: 0 + max_depth: 0 chunk_length: 20000 + list_folders: true chunk_storage: - uri: blob://ukmoforecasts/staging/staging-chunks/ + uri: blob://ukmoeuwest/staging/staging-chunks/ - id: met-office-global-deterministic-pressure template: ${{ local.path(./collection/met-office-global-deterministic-pressure) }} - class: met_office:MetOfficeCollection + class: met_office:MetOfficeGlobalPressureCollection asset_storage: - - uri: blob://ukmoforecasts/staging/global/pressure + - uri: blob://ukmoeuwest/staging/global/pressure chunks: options: - min_depth: 1 - max_depth: 1 + min_depth: 0 + max_depth: 0 chunk_length: 20000 + list_folders: true chunk_storage: - uri: blob://ukmoforecasts/staging/staging-chunks/ + uri: blob://ukmoeuwest/staging/staging-chunks/ - id: met-office-global-deterministic-whole-atmosphere template: ${{ local.path(./collection/met-office-global-deterministic-whole-atmosphere) }} - class: met_office:MetOfficeCollection + class: met_office:MetOfficeGlobalWholeAtmosphereCollection asset_storage: - - uri: blob://ukmoforecasts/staging/global/whole-atmosphere + - uri: blob://ukmoeuwest/staging/global/whole-atmosphere chunks: options: - min_depth: 1 - max_depth: 1 + min_depth: 0 + max_depth: 0 chunk_length: 20000 + list_folders: true chunk_storage: - uri: blob://ukmoforecasts/staging/staging-chunks/ + uri: blob://ukmoeuwest/staging/staging-chunks/ - id: met-office-uk-deterministic-height template: ${{ local.path(./collection/met-office-uk-deterministic-height) }} - class: met_office:MetOfficeCollection + class: met_office:MetOfficeUkHeightCollection asset_storage: - - uri: blob://ukmoforecasts/staging/uk/height + - uri: blob://ukmoeuwest/staging/uk/height chunks: options: - min_depth: 1 - max_depth: 1 + min_depth: 0 + max_depth: 0 chunk_length: 20000 + list_folders: true chunk_storage: - uri: blob://ukmoforecasts/staging/staging-chunks/ + uri: blob://ukmoeuwest/staging/staging-chunks/ - id: met-office-uk-deterministic-near-surface template: ${{ local.path(./collection/met-office-uk-deterministic-near-surface) }} - class: met_office:MetOfficeCollection + class: met_office:MetOfficeUkNearSurfaceCollection asset_storage: - - uri: blob://ukmoforecasts/staging/uk/near-surface + - uri: blob://ukmoeuwest/staging/uk/near-surface chunks: options: - min_depth: 1 - max_depth: 1 + min_depth: 0 + max_depth: 0 chunk_length: 20000 + list_folders: true chunk_storage: - uri: blob://ukmoforecasts/staging/staging-chunks/ + uri: blob://ukmoeuwest/staging/staging-chunks/ - id: met-office-uk-deterministic-pressure template: ${{ local.path(./collection/met-office-uk-deterministic-pressure) }} - class: met_office:MetOfficeCollection + class: met_office:MetOfficeUkPressureCollection asset_storage: - - uri: blob://ukmoforecasts/staging/uk/pressure + - uri: blob://ukmoeuwest/staging/uk/pressure chunks: options: - min_depth: 1 - max_depth: 1 + min_depth: 0 + max_depth: 0 chunk_length: 20000 + list_folders: true chunk_storage: - uri: blob://ukmoforecasts/staging/staging-chunks/ + uri: blob://ukmoeuwest/staging/staging-chunks/ - id: met-office-uk-deterministic-whole-atmosphere template: ${{ local.path(./collection/met-office-uk-deterministic-whole-atmosphere) }} - class: met_office:MetOfficeCollection + class: met_office:MetOfficeUkWholeAtmosphereCollection asset_storage: - - uri: blob://ukmoforecasts/staging/uk/whole-atmosphere + - uri: blob://ukmoeuwest/staging/uk/whole-atmosphere chunks: options: - min_depth: 1 - max_depth: 1 + min_depth: 0 + max_depth: 0 chunk_length: 20000 + list_folders: true chunk_storage: - uri: blob://ukmoforecasts/staging/staging-chunks/ + uri: blob://ukmoeuwest/staging/staging-chunks/ diff --git a/datasets/met-office/met_office.py b/datasets/met-office/met_office.py index e3de84ee..a8aadeea 100644 --- a/datasets/met-office/met_office.py +++ b/datasets/met-office/met_office.py @@ -1,3 +1,4 @@ +import logging from typing import Union from pctasks.core.models.task import WaitTaskResult @@ -5,14 +6,67 @@ from pctasks.dataset.collection import Collection from pystac import Item from stactools.met_office_deterministic import stac +from stactools.met_office_deterministic.constants import Model, Theme + +handler = logging.StreamHandler() +handler.setFormatter(logging.Formatter("[%(levelname)s]:%(asctime)s: %(message)s")) +handler.setLevel(logging.INFO) +logger = logging.getLogger(__name__) +logger.addHandler(handler) +logger.setLevel(logging.INFO) class MetOfficeCollection(Collection): + model: Model + theme: Theme + @classmethod def create_item( cls, asset_uri: str, storage_factory: StorageFactory ) -> Union[list[Item], WaitTaskResult]: + logger.info(f"Creating items for {asset_uri}") storage = storage_factory.get_storage(asset_uri) hrefs = list(storage.get_url(path) for path in storage.list_files()) - items = stac.create_items(hrefs) + logger.info(f"Found {len(hrefs)} hrefs") + items = stac.create_items(hrefs, model=cls.model, theme=cls.theme) return items + + +class MetOfficeGlobalHeightCollection(MetOfficeCollection): + model = Model.global_ + theme = Theme.height + + +class MetOfficeGlobalNearSurfaceCollection(MetOfficeCollection): + model = Model.global_ + theme = Theme.near_surface + + +class MetOfficeGlobalPressureCollection(MetOfficeCollection): + model = Model.global_ + theme = Theme.pressure_level + + +class MetOfficeGlobalWholeAtmosphereCollection(MetOfficeCollection): + model = Model.global_ + theme = Theme.whole_atmosphere + + +class MetOfficeUkHeightCollection(MetOfficeCollection): + model = Model.uk + theme = Theme.height + + +class MetOfficeUkNearSurfaceCollection(MetOfficeCollection): + model = Model.uk + theme = Theme.near_surface + + +class MetOfficeUkPressureCollection(MetOfficeCollection): + model = Model.uk + theme = Theme.pressure_level + + +class MetOfficeUkWholeAtmosphereCollection(MetOfficeCollection): + model = Model.uk + theme = Theme.whole_atmosphere diff --git a/datasets/met-office/requirements.txt b/datasets/met-office/requirements.txt index 870f0a74..4fdd82a6 100644 --- a/datasets/met-office/requirements.txt +++ b/datasets/met-office/requirements.txt @@ -1 +1 @@ -stactools-met-office-deterministic==0.2.0 +stactools-met-office-deterministic==0.3.0 From 880fdc939d54559474c9cacbbf3e770a6b27e928 Mon Sep 17 00:00:00 2001 From: Pete Gadomski Date: Fri, 5 Dec 2025 07:18:07 -0700 Subject: [PATCH 15/28] fix: collection bounding boxes --- .../collection/met-office-uk-deterministic-height/template.json | 2 +- .../met-office-uk-deterministic-near-surface/template.json | 2 +- .../met-office-uk-deterministic-pressure/template.json | 2 +- .../met-office-uk-deterministic-whole-atmosphere/template.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/datasets/met-office/collection/met-office-uk-deterministic-height/template.json b/datasets/met-office/collection/met-office-uk-deterministic-height/template.json index f3b8bdf5..fef3d7b5 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-height/template.json +++ b/datasets/met-office/collection/met-office-uk-deterministic-height/template.json @@ -19,7 +19,7 @@ "assets": {}, "extent": { "spatial": { - "bbox": [[15, 50, 5, 62]] + "bbox": [[5, 50, 15, 62]] }, "temporal": { "interval": [["2023-12-15T00:00:00Z", null]] diff --git a/datasets/met-office/collection/met-office-uk-deterministic-near-surface/template.json b/datasets/met-office/collection/met-office-uk-deterministic-near-surface/template.json index 555f3c7f..cf307594 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-near-surface/template.json +++ b/datasets/met-office/collection/met-office-uk-deterministic-near-surface/template.json @@ -19,7 +19,7 @@ "assets": {}, "extent": { "spatial": { - "bbox": [[15, 50, 5, 62]] + "bbox": [[5, 50, 15, 62]] }, "temporal": { "interval": [["2023-12-15T00:00:00Z", null]] diff --git a/datasets/met-office/collection/met-office-uk-deterministic-pressure/template.json b/datasets/met-office/collection/met-office-uk-deterministic-pressure/template.json index bcfd8d60..80c242c8 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-pressure/template.json +++ b/datasets/met-office/collection/met-office-uk-deterministic-pressure/template.json @@ -19,7 +19,7 @@ "assets": {}, "extent": { "spatial": { - "bbox": [[15, 50, 5, 62]] + "bbox": [[5, 50, 15, 62]] }, "temporal": { "interval": [["2023-12-15T00:00:00Z", null]] diff --git a/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere/template.json b/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere/template.json index 33c8c66f..500f1b48 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere/template.json +++ b/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere/template.json @@ -19,7 +19,7 @@ "assets": {}, "extent": { "spatial": { - "bbox": [[15, 50, 5, 62]] + "bbox": [[5, 50, 15, 62]] }, "temporal": { "interval": [["2023-12-15T00:00:00Z", null]] From 35f67bb0444e45b391c256071f51f93a31d489cd Mon Sep 17 00:00:00 2001 From: Pete Gadomski Date: Fri, 5 Dec 2025 07:27:21 -0700 Subject: [PATCH 16/28] feat: add simple notebook --- datasets/met-office/met_office.ipynb | 25910 +++++++++++++++++++++++++ 1 file changed, 25910 insertions(+) create mode 100644 datasets/met-office/met_office.ipynb diff --git a/datasets/met-office/met_office.ipynb b/datasets/met-office/met_office.ipynb new file mode 100644 index 00000000..b3a6993b --- /dev/null +++ b/datasets/met-office/met_office.ipynb @@ -0,0 +1,25910 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "e75047bd", + "metadata": {}, + "source": [ + "# Met office (UK) deterministic forecast models\n", + "\n", + "A light notebook demonstrating access of the met office STAC items in our test database." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "358009bf", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/gadomski/Code/microsoft/planetary-computer-tasks/.venv/lib/python3.12/site-packages/pystac_client/collection_search.py:306: UserWarning: Server does not conform to COLLECTION_SEARCH. Filtering will be performed client-side where only bbox, datetime, and q arguments are supported\n", + " warnings.warn(\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "met-office-global-deterministic-near-surface\n", + "met-office-global-deterministic-whole-atmosphere\n", + "met-office-global-deterministic-height\n", + "met-office-global-deterministic-pressure\n", + "met-office-uk-deterministic-near-surface\n", + "met-office-uk-deterministic-height\n", + "met-office-uk-deterministic-pressure\n", + "met-office-uk-deterministic-whole-atmosphere\n" + ] + } + ], + "source": [ + "from IPython.display import display\n", + "from pystac_client import Client\n", + "\n", + "client = Client.open(\"https://planetarycomputer-test.microsoft.com/stac\")\n", + "collection_search = client.collection_search(q=\"met-office\")\n", + "collections = list(collection_search.collections())\n", + "for collection in collections:\n", + " print(collection.id)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "afa211f9", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Found 59 items for collection: met-office-global-deterministic-near-surface\n" + ] + }, + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "
\n", + "
\n", + " <Item id=20251205T0000Z-PT0066H00M>\n", + "
\n", + "\n", + "
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Found 60 items for collection: met-office-global-deterministic-whole-atmosphere\n" + ] + }, + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "
\n", + "
\n", + " <Item id=20251205T0000Z-PT0066H00M>\n", + "
\n", + "\n", + "
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Found 59 items for collection: met-office-global-deterministic-height\n" + ] + }, + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "
\n", + "
\n", + " <Item id=20251205T0000Z-PT0066H00M>\n", + "
\n", + "\n", + "
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "No items found for collection: met-office-global-deterministic-pressure\n", + "Found 133 items for collection: met-office-uk-deterministic-near-surface\n" + ] + }, + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "
\n", + "
\n", + " <Item id=20251203T1800Z-PT0033H00M>\n", + "
\n", + "\n", + "
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Found 40 items for collection: met-office-uk-deterministic-height\n" + ] + }, + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "
\n", + "
\n", + " <Item id=20251203T1300Z-PT0028H00M>\n", + "
\n", + "\n", + "
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "No items found for collection: met-office-uk-deterministic-pressure\n", + "Found 40 items for collection: met-office-uk-deterministic-whole-atmosphere\n" + ] + }, + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "
\n", + "
\n", + " <Item id=20251203T1500Z-PT0030H00M>\n", + "
\n", + "\n", + "
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "for collection in collections:\n", + " item_search = client.search(collections=[collection.id])\n", + " items = list(item_search.items())\n", + " if items:\n", + " print(f\"Found {len(items)} items for collection: {collection.id}\")\n", + " display(items[0])\n", + " else:\n", + " print(\"No items found for collection:\", collection.id)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "planetary-computer-tasks", + "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.12.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 3b191a5deecbaaf9c27c8b5f1ace0ea657f95793 Mon Sep 17 00:00:00 2001 From: Pete Gadomski Date: Fri, 5 Dec 2025 08:38:11 -0700 Subject: [PATCH 17/28] fix: notebooks --- .../collection/met-office-uk-deterministic-height/template.json | 2 +- .../met-office-uk-deterministic-near-surface/template.json | 2 +- .../met-office-uk-deterministic-pressure/template.json | 2 +- .../met-office-uk-deterministic-whole-atmosphere/template.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/datasets/met-office/collection/met-office-uk-deterministic-height/template.json b/datasets/met-office/collection/met-office-uk-deterministic-height/template.json index fef3d7b5..ec3c6ee7 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-height/template.json +++ b/datasets/met-office/collection/met-office-uk-deterministic-height/template.json @@ -19,7 +19,7 @@ "assets": {}, "extent": { "spatial": { - "bbox": [[5, 50, 15, 62]] + "bbox": [[-24.51, 44.52, 15.28, 61.93]] }, "temporal": { "interval": [["2023-12-15T00:00:00Z", null]] diff --git a/datasets/met-office/collection/met-office-uk-deterministic-near-surface/template.json b/datasets/met-office/collection/met-office-uk-deterministic-near-surface/template.json index cf307594..d79ff134 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-near-surface/template.json +++ b/datasets/met-office/collection/met-office-uk-deterministic-near-surface/template.json @@ -19,7 +19,7 @@ "assets": {}, "extent": { "spatial": { - "bbox": [[5, 50, 15, 62]] + "bbox": [[-24.51, 44.52, 15.28, 61.93]] }, "temporal": { "interval": [["2023-12-15T00:00:00Z", null]] diff --git a/datasets/met-office/collection/met-office-uk-deterministic-pressure/template.json b/datasets/met-office/collection/met-office-uk-deterministic-pressure/template.json index 80c242c8..c56cd70f 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-pressure/template.json +++ b/datasets/met-office/collection/met-office-uk-deterministic-pressure/template.json @@ -19,7 +19,7 @@ "assets": {}, "extent": { "spatial": { - "bbox": [[5, 50, 15, 62]] + "bbox": [[-24.51, 44.52, 15.28, 61.93]] }, "temporal": { "interval": [["2023-12-15T00:00:00Z", null]] diff --git a/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere/template.json b/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere/template.json index 500f1b48..361a2b89 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere/template.json +++ b/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere/template.json @@ -19,7 +19,7 @@ "assets": {}, "extent": { "spatial": { - "bbox": [[5, 50, 15, 62]] + "bbox": [[-24.51, 44.52, 15.28, 61.93]] }, "temporal": { "interval": [["2023-12-15T00:00:00Z", null]] From 325513f6bf96b2fbb16d4c26aab138125592238c Mon Sep 17 00:00:00 2001 From: Jeff Shepherd Date: Mon, 8 Dec 2025 11:26:42 +0000 Subject: [PATCH 18/28] refactor UK Near Surface to use datacube STAC extension & update model latency wording --- .../description.md | 2 +- .../description.md | 14 +- .../template.json | 471 +++++++++++------- .../description.md | 3 +- .../description.md | 2 +- 5 files changed, 293 insertions(+), 199 deletions(-) diff --git a/datasets/met-office/collection/met-office-uk-deterministic-height-level/description.md b/datasets/met-office/collection/met-office-uk-deterministic-height-level/description.md index bc01689e..d9bdf7cb 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-height-level/description.md +++ b/datasets/met-office/collection/met-office-uk-deterministic-height-level/description.md @@ -25,7 +25,7 @@ There are three lengths of model run, each with its own update frequency: As of December 2025, the archive contains data from December 2023 onwards. Forecasts will continue to be available for at least two years from their data date. -The data is typically available approximately 3-3.5 hours after the model run time. +The data is typically available 3-6 hours after the model run time. ## Technical specs The data is available as NetCDF files. NetCDF (Network Common Data Form) is an interface for array-orientated data access and a library that supports the interface. It is composed of 3 components: diff --git a/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/description.md b/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/description.md index b8889518..a2e099cd 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/description.md +++ b/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/description.md @@ -10,20 +10,20 @@ The forecast covers the UK and Ireland, with the following latitude and longitud * Southeast: 49.0594°N, 2.4654°E ## Timesteps -The following time steps are available: -* every hour from 0 to 54 hours (for most parameters, see parameter table for exceptions) -* every 3 hours from 57 to 120 hours +For most parameters, the following time steps are available (see parameter table for exceptions): +* every hour from 0 to 54 hours +* every 3 hours from 57 to 120 hours ## Update frequency There are three lengths of model run, each with its own update frequency: -* The Nowcast-length runs forecast the next 12 hours and are at 0100, 0200, 0400, 0500, 0700, 0800, 1000, 1100, 1300, 1400, 1600, 1700, 1900, 2000, 2200 and 2300 UTC. -* The Short-length runs forecast the next 54 hours and are at 0000, 0600, 0900, 1200, 1800 and 2100 UTC. -* The Medium-Length runs forecast the next 120 hours and are at 0300 and 1500 UTC. +* Nowcast: forecasts the next 12 hours and are at 0100, 0200, 0400, 0500, 0700, 0800, 1000, 1100, 1300, 1400, 1600, 1700, 1900, 2000, 2200 and 2300 UTC. +* Short: forecasts the next 54 hours and are at 0000, 0600, 0900, 1200, 1800 and 2100 UTC. +* Medium: forecasts the next 120 hours and are at 0300 and 1500 UTC. ## Archive length and latency As of December 2025, the archive contains data from December 2023 onwards. Forecasts will continue to be available for at least two years from their data date. -The data is typically available approximately 3-3.5 hours after the model run time. +The data is typically available 3-6 hours after the model run time. ## Technical specs The data is available as NetCDF files. NetCDF (Network Common Data Form) is an interface for array-orientated data access and a library that supports the interface. It is composed of 3 components: diff --git a/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json b/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json index 6ccbd642..3dcb7b11 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json +++ b/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json @@ -76,333 +76,426 @@ ] } ], - "item_assets": { + "cube:variables": { "fog_fraction_at_screen_level": { - "type": "application/netcdf", - "title": "Fog fraction at screen level", "description": "Here fog means a visibility of 1000 m or lower. The reduction in visibility is caused by water droplets or minute ice crystals forming close to the surface. This quantity represents the fraction of horizontal grid square occupied by fog. An alternative interpretation is that this represents the fractional probability of fog being present at any location in the grid square.", + "dimensions": [], "unit": "1", - "height": "1.5m", - "roles": [ - "data" - ] + "attrs": { + "height": "1.5m", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "hail_fall_accumulation-PT01H": { - "type": "application/netcdf", - "title": "Hourly hail fall accumulation", "description": "Implied depth of the layer of liquid water equivalent (LWE) hail produced by the model precipitation scheme and deposited on the surface in the previous hour.", + "dimensions": [], "unit": "m", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "15m_timesteps": "-", + "1h_timesteps": "T+1 to T+54", + "3h_timesteps": "-", + "content_type": "application/netcdf" + } }, "hail_fall_rate": { - "type": "application/netcdf", - "title": "Hail fall rate", "description": "Instantaneous rate at which liquid water equivalent (LWE) hail (as a depth) has been produced by the model precipitation scheme and deposited on the surface.", + "dimensions": [], "unit": "m/s", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "15m_timesteps": "T+0 to T+54", + "1h_timesteps": "-", + "3h_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "height_of_orography": { - "type": "application/netcdf", - "title": "Height of orography", "description": "Altitude or (geometric) height above the geoid of the surface (ground). It is worth remembering that orographic height can be negative, particularly in some of the inland sea areas (e.g. Caspian Sea at -27m and Dead Sea at -430m).", + "dimensions": [], "unit": "m", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "15m_timesteps": "-", + "1h_timesteps": "T+0 to T+54", + "3h_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "landsea_mask": { - "type": "application/netcdf", - "title": "Land binary mask", "description": "Binary indicator of whether a point is considered land (value = 1) or sea (value = 0). This is useful to identify the coastline and characterise points for correct interpretation of forecast data by users.", + "dimensions": [], "unit": "1", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "15m_timesteps": "-", + "1h_timesteps": "T+0 to T+54", + "3h_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "precipitation_accumulation-PT01H": { - "type": "application/netcdf", - "title": "Hourly precipitation accumulation", "description": "Implied depth of the layer of liquid water which has been deposited on the surface in the previous hour. This includes rain, snow and hail, with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", + "dimensions": [], "unit": "m", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "15m_timesteps": "-", + "1h_timesteps": "T+1 to T+54", + "3h_timesteps": "-", + "content_type": "application/netcdf" + } }, "precipitation_accumulation-PT03H": { - "type": "application/netcdf", - "title": "Three hourly precipitation accumulation", "description": "Implied depth of the layer of liquid water which has been deposited on the surface in the previous 3 hours. This includes rain, snow and hail, with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", + "dimensions": [], "unit": "m", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "15m_timesteps": "-", + "1h_timesteps": "-", + "3h_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "precipitation_rate": { - "type": "application/netcdf", - "title": "Precipitation rate", "description": "Instantaneous rate at which liquid water (as a depth) was being deposited on the surface. This includes rain, snow and hail with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", + "dimensions": [], "unit": "m/s", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "15m_timesteps": "T+0 to T+54", + "1h_timesteps": "-", + "3h_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "pressure_at_mean_sea_level": { - "type": "application/netcdf", - "title": "Pressure at mean sea level", "description": "Air pressure at mean sea level which is close to the geoid in sea areas. Air pressure at sea level is the quantity often abbreviated as MSLP or PMSL.", + "dimensions": [], "unit": "Pa", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "15m_timesteps": "-", + "1h_timesteps": "T+0 to T+54", + "3h_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "pressure_at_surface": { - "type": "application/netcdf", - "title": "Pressure at surface", "description": "Air pressure at the surface (lower boundary of the atmosphere).", + "dimensions": [], "unit": "Pa", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "15m_timesteps": "-", + "1h_timesteps": "T+0 to T+54", + "3h_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "radiation_flux_in_longwave_downward_at_surface": { - "type": "application/netcdf", - "title": "Radiation flux in longwave downward at surface", "description": "Longwave radiation at the surface from above directed at the ground.", + "dimensions": [], "unit": "W/m2", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "15m_timesteps": "-", + "1h_timesteps": "T+0 to T+54", + "3h_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "radiation_flux_in_shortwave_diffuse_downward_at_surface": { - "type": "application/netcdf", - "title": "Radiation flux in shortwave diffuse downward at surface", "description": "Diffuse component of shortwave radiation at the surface from above directed at the ground.", + "dimensions": [], "unit": "W/m2", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "15m_timesteps": "-", + "1h_timesteps": "T+0 to T+54", + "3h_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "radiation_flux_in_shortwave_direct_downward_at_surface": { - "type": "application/netcdf", - "title": "Radiation flux in shortwave direct downward at surface", "description": "Direct component of shortwave radiation at the surface from above directed at the ground.", + "dimensions": [], "unit": "W/m2", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "15m_timesteps": "-", + "1h_timesteps": "T+0 to T+54", + "3h_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "radiation_flux_in_shortwave_total_downward_at_surface": { - "type": "application/netcdf", - "title": "Radiation flux in shortwave total downward at surface", "description": "Total shortwave radiation at the surface from above directed at the ground.", + "dimensions": [], "unit": "W/m2", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "15m_timesteps": "-", + "1h_timesteps": "T+0 to T+54", + "3h_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "radiation_flux_in_uv_downward_at_surface": { - "type": "application/netcdf", - "title": "Radiation flux in uv downward at surface", "description": "Ultraviolet radiation at the surface from above directed at the ground.", + "dimensions": [], "unit": "W/m2", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "15m_timesteps": "-", + "1h_timesteps": "T+0 to T+54", + "3h_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "rainfall_accumulation-PT01H": { - "type": "application/netcdf", - "title": "Hourly rainfall accumulation", "description": "Implied depth of the rain produced by the model precipitation scheme which has been deposited on the surface in the previous hour. This excludes the rain produced by the model convection scheme.", + "dimensions": [], "unit": "m", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "15m_timesteps": "-", + "1h_timesteps": "T+1 to T+54", + "3h_timesteps": "-", + "content_type": "application/netcdf" + } }, "rainfall_accumulation-PT03H": { - "type": "application/netcdf", - "title": "Three hourly rainfall accumulation", "description": "Implied depth of the rain produced by the model precipitation scheme which has been deposited on the surface in the previous 3 hours. This excludes the rain produced by the model convection scheme.", + "dimensions": [], "unit": "m", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "15m_timesteps": "-", + "1h_timesteps": "-", + "3h_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "rainfall_rate": { - "type": "application/netcdf", - "title": "Rainfall rate", "description": "Instantaneous rate at which rain (as a depth) was being produced by the model precipitation scheme and deposited on the surface. This excludes the rain produced by the model convection scheme.", + "dimensions": [], "unit": "m/s", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "15m_timesteps": "T+0 to T+54", + "1h_timesteps": "-", + "3h_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "relative_humidity_at_screen_level": { - "type": "application/netcdf", - "title": "Relative humidity at screen level", "description": "Fractional relative humidity (ratio of the partial pressure of water vapour to the equilibrium vapour pressure of water) at screen level (1.5m above the surface.)", + "dimensions": [], "unit": "1", - "height": "1.5m", - "roles": [ - "data" - ] + "attrs": { + "height": "1.5m", + "15m_timesteps": "-", + "1h_timesteps": "T+0 to T+54", + "3h_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "sensible_heat_flux_at_surface": { - "type": "application/netcdf", - "title": "Sensible heat flux at surface", "description": "Exchange of heat between the surface and the air by motion of air, also called turbulent heat flux.", + "dimensions": [], "unit": "W/m2", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "15m_timesteps": "-", + "1h_timesteps": "T+0 to T+54", + "3h_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "snow_depth_water_equivalent": { - "type": "application/netcdf", - "title": "Snow depth water equivalent", - "description": "Liquid water equivalent ( LWE) depth of the snow lying on the surface (ground). Typically water is 10 times as dense as snow, so multiplying by 10 gives an approximate depth of the snow, although wet snow can be significantly denser and powder snow much less dense.", + "description": "Liquid water equivalent (LWE) depth of the snow lying on the surface (ground). Typically water is 10 times as dense as snow, so multiplying by 10 gives an approximate depth of the snow, although wet snow can be significantly denser and powder snow much less dense.", + "dimensions": [], "unit": "m", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "15m_timesteps": "-", + "1h_timesteps": "T+0 to T+54", + "3h_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "snowfall_accumulation-PT01H": { - "type": "application/netcdf", - "title": "Hourly snowfall accumulation", "description": "Implied depth of the (LWE) snow (as a depth) produced by the model precipitation scheme and deposited on the surface in the previous hour. This excludes the snow produced by the model convection scheme. ", + "dimensions": [], "unit": "m", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "15m_timesteps": "-", + "1h_timesteps": "T+1 to T+54", + "3h_timesteps": "-", + "content_type": "application/netcdf" + } }, "snowfall_accumulation-PT03H": { - "type": "application/netcdf", - "title": "Three hourly snowfall accumulation", "description": "Implied depth of the (LWE) snow (as a depth) produced by the model precipitation scheme and deposited on the surface in the previous 3 hours. This excludes the snow produced by the model convection scheme.", + "dimensions": [], "unit": "m", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "15m_timesteps": "-", + "1h_timesteps": "-", + "3h_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "snowfall_rate": { - "type": "application/netcdf", - "title": "Snowfall rate", "description": "Instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) was produced by the model precipitation scheme and deposited on the surface. This excludes the snow produced by the model convection scheme.", + "dimensions": [], "unit": "m/s", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "15m_timesteps": "T+0 to T+54", + "1h_timesteps": "-", + "3h_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "temperature_at_screen_level": { - "type": "application/netcdf", - "title": "Temperature at screen level", "description": "Instantaneous air temperature at screen level (1.5m).", + "dimensions": [], "unit": "K", - "height": "1.5m", - "roles": [ - "data" - ] + "attrs": { + "height": "1.5m", + "15m_timesteps": "-", + "1h_timesteps": "T+0 to T+54", + "3h_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "temperature_at_screen_level_max-PT01H": { - "type": "application/netcdf", - "title": "Hourly temperature at screen level max", "description": "Maximum instantaneous air temperature at screen level (1.5m) in the previous hour.", + "dimensions": [], "unit": "K", - "height": "1.5m", - "roles": [ - "data" - ] + "attrs": { + "height": "1.5m", + "15m_timesteps": "-", + "1h_timesteps": "T+1 to T+120", + "3h_timesteps": "-", + "content_type": "application/netcdf" + } }, "temperature_at_screen_level_min-PT01H": { - "type": "application/netcdf", - "title": "Hourly temperature at screen level min", "description": "Minimum instantaneous air temperature at screen level (1.5m) in the previous hour.", + "dimensions": [], "unit": "K", - "height": "1.5m", - "roles": [ - "data" - ] + "attrs": { + "height": "1.5m", + "15m_timesteps": "-", + "1h_timesteps": "T+1 to T+120", + "3h_timesteps": "-", + "content_type": "application/netcdf" + } }, "temperature_at_surface": { - "type": "application/netcdf", - "title": "Temperature at surface", "description": "Temperature at the surface interface between the air and the ground.", + "dimensions": [], "unit": "K", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "15m_timesteps": "-", + "1h_timesteps": "T+0 to T+54", + "3h_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "temperature_of_dew_point_at_screen_level": { - "type": "application/netcdf", - "title": "Dew point temperature at screen level", "description": "Instantaneous dew point temperature (temperature at which a parcel of air reaches saturation upon being cooled at constant pressure and specific humidity) at screen level (1.5m).", + "dimensions": [], "unit": "K", - "height": "1.5m", - "roles": [ - "data" - ] + "attrs": { + "height": "1.5m", + "15m_timesteps": "-", + "1h_timesteps": "T+0 to T+54", + "3h_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "visibility_at_screen_level": { - "type": "application/netcdf", - "title": "Visibility at screen level", "description": "Horizontal distance at which something can be seen horizontally from screen level (1.5m).", + "dimensions": [], "unit": "m", - "height": "1.5m", - "roles": [ - "data" - ] + "attrs": { + "height": "1.5m", + "15m_timesteps": "-", + "1h_timesteps": "T+0 to T+54", + "3h_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "wind_direction_at_10m": { - "type": "application/netcdf", - "title": "Wind direction at 10m", "description": "Wind at 10m above the surface is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. In meteorological reports the direction of the wind vector is given as the direction from which it is blowing. Note: This with wind speed at 10m replaces x wind at 10m and y wind at 10m.", + "dimensions": [], "unit": "degrees", - "height": "10.0m", - "roles": [ - "data" - ] + "attrs": { + "height": "10.0m", + "15m_timesteps": "-", + "1h_timesteps": "T+0 to T+54", + "3h_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "wind_gust_at_10m": { - "type": "application/netcdf", - "title": "Wind gust at 10m", "description": "Diagnosed instantaneous wind gust at 10m. This can be considered as the extreme rather than steady wind speed that might be experienced at this specific time.", + "dimensions": [], "unit": "m/s", - "height": "10.0m", - "roles": [ - "data" - ] + "attrs": { + "height": "10.0m", + "15m_timesteps": "-", + "1h_timesteps": "T+0 to T+54", + "3h_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "wind_gust_at_10m_max-PT01H": { - "type": "application/netcdf", - "title": "Hourly wind gust at 10m max", "description": "Maximum diagnosed instantaneous wind gust at 10m in the previous hour. This can be considered as the extreme wind speed that might be experienced in this period. ", + "dimensions": [], "unit": "m/s", - "height": "10.0m", - "roles": [ - "data" - ] + "attrs": { + "height": "10.0m", + "15m_timesteps": "-", + "1h_timesteps": "T+1 to T+54", + "3h_timesteps": "-", + "content_type": "application/netcdf" + } }, "wind_gust_at_10m_max-PT03H": { - "type": "application/netcdf", - "title": "Three hourly wind gust at 10m max", "description": "Maximum diagnosed instantaneous wind gust at 10m in the previous 3 hours. This can be considered as the extreme wind speed that might be experienced in this period.", + "dimensions": [], "unit": "m/s", - "height": "10.0m", - "roles": [ - "data" - ] + "attrs": { + "height": "10.0m", + "15m_timesteps": "-", + "1h_timesteps": "-", + "3h_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "wind_speed_at_10m": { - "type": "application/netcdf", - "title": "Wind speed at 10m", "description": "Wind at 10m above the surface is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. The speed is the magnitude of velocity.", + "dimensions": [], "unit": "m/s", - "height": "10.0m", - "roles": [ - "data" - ] + "attrs": { + "height": "10.0m", + "15m_timesteps": "-", + "1h_timesteps": "T+0 to T+54", + "3h_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } } }, "stac_version": "1.0.0", diff --git a/datasets/met-office/collection/met-office-uk-deterministic-pressure-level/description.md b/datasets/met-office/collection/met-office-uk-deterministic-pressure-level/description.md index b9aeccd7..161ebc6a 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-pressure-level/description.md +++ b/datasets/met-office/collection/met-office-uk-deterministic-pressure-level/description.md @@ -28,7 +28,8 @@ There are three lengths of model run, each with its own update frequency: As of December 2025, the archive contains data from December 2023 onwards. Forecasts will continue to be available for at least two years from their data date. -The data is typically available approximately 3-3.5 hours after the model run time. +The data is typically available 3-6 hours after the model run time. + ## Technical specs The data is available as NetCDF files. NetCDF (Network Common Data Form) is an interface for array-orientated data access and a library that supports the interface. It is composed of 3 components: diff --git a/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere-level/description.md b/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere-level/description.md index 230f82c8..205eda0b 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere-level/description.md +++ b/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere-level/description.md @@ -22,7 +22,7 @@ There are three lengths of model run, each with its own update frequency: As of December 2025, the archive contains data from December 2023 onwards. Forecasts will continue to be available for at least two years from their data date. -The data is typically available approximately 3-3.5 hours after the model run time. +The data is typically available 3-6 hours after the model run time. ## Technical specs The data is available as NetCDF files. NetCDF (Network Common Data Form) is an interface for array-orientated data access and a library that supports the interface. It is composed of 3 components: From 20691cf66394a7e9f7d1893934bb63dd2036dc54 Mon Sep 17 00:00:00 2001 From: Jeff Shepherd Date: Mon, 8 Dec 2025 12:09:35 +0000 Subject: [PATCH 19/28] update Global Near Surface with datacube extension & update description --- .../description.md | 4 +- .../template.json | 627 +++++++++++------- .../template.json | 204 +++--- 3 files changed, 490 insertions(+), 345 deletions(-) diff --git a/datasets/met-office/collection/met-office-global-deterministic-near-surface-level/description.md b/datasets/met-office/collection/met-office-global-deterministic-near-surface-level/description.md index a42e1372..9ad6da66 100644 --- a/datasets/met-office/collection/met-office-global-deterministic-near-surface-level/description.md +++ b/datasets/met-office/collection/met-office-global-deterministic-near-surface-level/description.md @@ -11,14 +11,14 @@ The following timesteps are available: ## Update Frequency The model is run four times each day, with forecast reference times of 00:00, 06:00, 12:00 and 18:00 (UTC). -The runs at 00:00 and 12:00 provide data for the next 168 hours. The runs at 12:00 and 18:00 provide data for the next 66 hours. +The runs at 00:00 and 12:00 provide data for the next 168 hours. The runs at 06:00 and 18:00 provide data for the next 67 hours. The forecast reference time represents the nominal data time or start time of a model forecast run, rather than the time when the data is available. ## Archive length and latency As of December 2025, the archive contains data from December 2023 onwards. Forecasts will continue to be available for at least two years from their data date. -The data is typically available approximately Y hours after the model run time. +The data is typically available 6 hours after the model run time. ## Technical specs The data is available as NetCDF files. NetCDF (Network Common Data Form) is an interface for array-orientated data access and a library that supports the interface. It is composed of 3 components: diff --git a/datasets/met-office/collection/met-office-global-deterministic-near-surface-level/template.json b/datasets/met-office/collection/met-office-global-deterministic-near-surface-level/template.json index 899eb617..f5263bb6 100644 --- a/datasets/met-office/collection/met-office-global-deterministic-near-surface-level/template.json +++ b/datasets/met-office/collection/met-office-global-deterministic-near-surface-level/template.json @@ -81,438 +81,583 @@ ] } ], - "item_assets": { + "cube:variables": { "fog_fraction_at_screen_level": { - "type": "application/netcdf", - "title": "Fog fraction at screen level", "description": "Here fog means a visibility of 1000 m or lower. The reduction in visibility is caused water droplets or minute ice crystals forming close to the surface. This quantity represents the fraction of horizontal grid square occupied by fog. An alternative interpretation is that this represents the fractional probability of fog being present at any location in the grid square.", + "dimensions": [], "unit": "1", - "roles": [ - "data" - ] + "attrs": { + "height": "1.5m", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "height_of_orography": { - "type": "application/netcdf", - "title": "Height of orography", "description": "Altitude or (geometric) height above the geoid of the surface (ground). It is worth remembering that orographic height can be negative, particularly in some of the inland sea areas (e.g. Caspian Sea at -27m and Dead Sea at -430m)", + "dimensions": [], "unit": "m", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "1H_timesteps": "T+0 only", + "3H_timesteps": "-", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } }, "latent_heat_flux_at_surface_mean-PT01H": { - "type": "application/netcdf", - "title": "Hourly latent heat flux at surface mean", "description": "The latent heat flux, averaged over a model time step, at the surface.", + "dimensions": [], "unit": "W/m2", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "1H_timesteps": "T+1 to T+54", + "3H_timesteps": "-", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } }, "latent_heat_flux_at_surface_mean-PT03H": { - "type": "application/netcdf", - "title": "Three hourly latent heat flux at surface mean", "description": "The latent heat flux, averaged over a model time step, at the surface.", + "dimensions": [], "unit": "W/m2", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "1H_timesteps": "-", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } }, "latent_heat_flux_at_surface_mean-PT06H": { - "type": "application/netcdf", - "title": "Six hourly latent heat flux at surface mean", "description": "The latent heat flux, averaged over a model time step, at the surface.", + "dimensions": [], "unit": "W/m2", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "1H_timesteps": "-", + "3H_timesteps": "-", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "precipitation_accumulation-PT01H": { - "type": "application/netcdf", - "title": "Hourly precipitation accumulation", "description": "Implied depth of the layer of liquid water which has been deposited on the surface in the previous hour. This includes rain, snow and hail, with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", + "dimensions": [], "unit": "m", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "1H_timesteps": "T+1 to T+48", + "3H_timesteps": "-", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } }, "precipitation_accumulation-PT03H": { - "type": "application/netcdf", - "title": "Three hourly precipitation accumulation", "description": "Implied depth of the layer of liquid water which has been deposited on the surface in the previous 3 hours. This includes rain, snow and hail, with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", + "dimensions": [], "unit": "m", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "1H_timesteps": "-", + "3H_timesteps": "T+51 to T+144", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } }, "precipitation_accumulation-PT06H": { - "type": "application/netcdf", - "title": "Six hourly precipitation accumulation", "description": "Implied depth of the layer of liquid water which has been deposited on the surface in the previous 6 hours. This includes rain, snow and hail, with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", + "dimensions": [], "unit": "m", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "1H_timesteps": "-", + "3H_timesteps": "-", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "precipitation_rate": { - "type": "application/netcdf", - "title": "Precipitation rate", "description": "Instantaneous rate at which liquid water (as a depth) was being deposited on the surface. This includes rain, snow and hail with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", + "dimensions": [], "unit": "m/s", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "pressure_at_mean_sea_level": { - "type": "application/netcdf", - "title": "Pressure at mean sea level", "description": "Air pressure at mean sea level which is close to the geoid in sea areas. Air pressure at sea level is the quantity often abbreviated as MSLP or PMSL.", + "dimensions": [], "unit": "Pa", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "radiation_flux_in_longwave_downward_at_surface": { - "type": "application/netcdf", - "title": "Radiation flux in longwave downward at surface", "description": "Longwave radiation at the surface from above directed at the ground.", + "dimensions": [], "unit": "W/m2", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "radiation_flux_in_shortwave_direct_downward_at_surface": { - "type": "application/netcdf", - "title": "Radiation flux in shortwave direct downward at surface", "description": "Direct component of shortwave radiation at the surface from above directed at the ground.", + "dimensions": [], "unit": "W/m2", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "radiation_flux_in_shortwave_total_downward_at_surface": { - "type": "application/netcdf", - "title": "Radiation flux in shortwave total downward at surface", "description": "Total shortwave radiation at the surface from above directed at the ground.", + "dimensions": [], "unit": "W/m2", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "radiation_flux_in_uv_downward_at_surface": { - "type": "application/netcdf", - "title": "Radiation flux in uv downward at surface", "description": "Ultaviolet radiation at the surface from above directed at the ground.", + "dimensions": [], "unit": "W/m2", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "1H_timesteps": "-", + "3H_timesteps": "T+0 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "rainfall_accumulation-PT01H": { - "type": "application/netcdf", - "title": "Hourly rainfall accumulation", "description": "Implied depth of the rain produced by the model precipitation scheme which has been deposited on the surface in the previous hour. This excludes the rain produced by the model convection scheme.", + "dimensions": [], "unit": "m", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "1H_timesteps": "T+1 to T+54", + "3H_timesteps": "-", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } }, "rainfall_accumulation-PT03H": { - "type": "application/netcdf", - "title": "Three hourly rainfall accumulation", "description": "Implied depth of the rain produced by the model precipitation scheme which has been deposited on the surface in the previous 3 hours. This excludes the rain produced by the model convection scheme.", + "dimensions": [], "unit": "m", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "1H_timesteps": "-", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } }, "rainfall_accumulation-PT06H": { - "type": "application/netcdf", - "title": "Six hourly rainfall accumulation", "description": "Implied depth of the rain produced by the model precipitation scheme which has been deposited on the surface in the previous 6 hours. This excludes the rain produced by the model convection scheme.", + "dimensions": [], "unit": "m", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "1H_timesteps": "-", + "3H_timesteps": "-", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "rainfall_rate": { - "type": "application/netcdf", - "title": "Rainfall rate", "description": "Instantaneous rate at which rain (as a depth) was being produced by the model precipitation scheme and deposited on the surface. This excludes the rain produced by the model convection scheme.", + "dimensions": [], "unit": "m/s", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "rainfall_rate_from_convection": { - "type": "application/netcdf", - "title": "Rainfall rate from convection", "description": "Instantaneous rate at which rain (as a depth) was produced by the model convection scheme and deposited on the surface. The rainfall rate can be added to this to get the total rainfall rate.", + "dimensions": [], "unit": "m/s", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "rainfall_rate_from_convection_max-PT01H": { - "type": "application/netcdf", - "title": "Hourly rainfall rate from convection max", "description": "Maximum instantaneous rate at which rain (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous hour.", + "dimensions": [], "unit": "m/s", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "1H_timesteps": "T+1 to T+54", + "3H_timesteps": "-", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } }, "rainfall_rate_from_convection_max-PT03H": { - "type": "application/netcdf", - "title": "Three hourly rainfall rate from convection max", "description": "Maximum instantaneous rate at which rain (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 3 hours.", + "dimensions": [], "unit": "m/s", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "1H_timesteps": "-", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } }, "rainfall_rate_from_convection_max-PT06H": { - "type": "application/netcdf", - "title": "Six hourly rainfall rate from convection max", "description": "Maximum instantaneous rate at which rain (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 6 hours.", + "dimensions": [], "unit": "m/s", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "1H_timesteps": "-", + "3H_timesteps": "-", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "relative_humidity_at_screen_level": { - "type": "application/netcdf", - "title": "Relative humidity at screen level", "description": "Fractional relative humidity (ratio of the partial pressure of water vapour to the equilibrium vapour pressure of water) at screen level (1.5m above the surface.)", + "dimensions": [], "unit": "1", - "roles": [ - "data" - ] + "attrs": { + "height": "1.5m", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "snow_depth_water_equivalent": { - "type": "application/netcdf", - "title": "Snow depth water equivalent", "description": "Liquid water equivalent (LWE) depth of the snow lying on the surface (ground). Typically water is 10 times as dense as snow, so multiplying by 10 gives an approximate depth of the snow, although wet snow can be significantly denser and powder snow much less dense.", + "dimensions": [], "unit": "m", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "snowfall_rate": { - "type": "application/netcdf", - "title": "Snowfall rate", "description": "Instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) was produced by the model precipitation scheme and deposited on the surface. This excludes the snow produced by the the model convection scheme.", + "dimensions": [], "unit": "m/s", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "snowfall_rate_from_convection": { - "type": "application/netcdf", - "title": "Snowfall rate from convection", "description": "Instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface. The snowfall rate can be added to this to get the total snowfall rate.", + "dimensions": [], "unit": "m/s", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "snowfall_rate_from_convection_max-PT01H": { - "type": "application/netcdf", - "title": "Hourly snowfall rate from convection max", "description": "Maximum instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous hour.", + "dimensions": [], "unit": "m/s", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "1H_timesteps": "T+1 to T+54", + "3H_timesteps": "-", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } + }, "snowfall_rate_from_convection_max-PT03H": { - "type": "application/netcdf", - "title": "Three hourly snowfall rate from convection max", "description": "Maximum instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 3 hours.", + "dimensions": [], "unit": "m/s", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "1H_timesteps": "-", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } }, "snowfall_rate_from_convection_max-PT06H": { - "type": "application/netcdf", - "title": "Six hourly snowfall rate from convection max", "description": "Maximum instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 6 hours.", + "dimensions": [], "unit": "m/s", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "1H_timesteps": "-", + "3H_timesteps": "-", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "snowfall_rate_from_convection_mean-PT01H": { - "type": "application/netcdf", - "title": "Hourly snowfall rate from convection mean", "description": "Mean rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous hour.", + "dimensions": [], "unit": "m/s", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "1H_timesteps": "T+1 to T+54", + "3H_timesteps": "-", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } }, "snowfall_rate_from_convection_mean-PT03H": { - "type": "application/netcdf", - "title": "Three hourly snowfall rate from convection mean", "description": "Mean rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 3 hours.", + "dimensions": [], "unit": "m/s", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "1H_timesteps": "-", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } }, "snowfall_rate_from_convection_mean-PT06H": { - "type": "application/netcdf", - "title": "Six hourly snowfall rate from convection mean", "description": "Mean rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 6 hours.", + "dimensions": [], "unit": "m/s", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "1H_timesteps": "-", + "3H_timesteps": "-", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "temperature_at_screen_level": { - "type": "application/netcdf", - "title": "Temperature at screen level", "description": "Instantaneous air temperature at screen level (1.5m).", + "dimensions": [], "unit": "K", - "roles": [ - "data" - ] + "attrs": { + "height": "1.5m", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "temperature_at_screen_level_max-PT01H": { - "type": "application/netcdf", - "title": "Hourly temperature at screen level max", "description": "Maximum instantaneous air temperature at screen level (1.5m) in the previous hour.", + "dimensions": [], "unit": "K", - "roles": [ - "data" - ] + "attrs": { + "height": "1.5m", + "1H_timesteps": "T+1 to T+54", + "3H_timesteps": "-", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } }, "temperature_at_screen_level_max-PT03H": { - "type": "application/netcdf", - "title": "Three hourly temperature at screen level max", "description": "Maximum instantaneous air temperature at screen level (1.5m) in the previous 3 hours.", + "dimensions": [], "unit": "K", - "roles": [ - "data" - ] + "attrs": { + "height": "1.5m", + "1H_timesteps": "-", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } }, "temperature_at_screen_level_max-PT06H": { - "type": "application/netcdf", - "title": "Six hourly temperature at screen level max", "description": "Maximum instantaneous air temperature at screen level (1.5m) in the previous 6 hours.", + "dimensions": [], "unit": "K", - "roles": [ - "data" - ] + "attrs": { + "height": "1.5m", + "1H_timesteps": "-", + "3H_timesteps": "-", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "temperature_at_screen_level_min-PT01H": { - "type": "application/netcdf", - "title": "Hourly temperature at screen level min", "description": "Minimum instantaneous air temperature at screen level (1.5m) in the previous hour.", + "dimensions": [], "unit": "K", - "roles": [ - "data" - ] + "attrs": { + "height": "1.5m", + "1H_timesteps": "T+1 to T+54", + "3H_timesteps": "-", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } }, "temperature_at_screen_level_min-PT03H": { - "type": "application/netcdf", - "title": "Three hourly temperature at screen level min", "description": "Minimum instantaneous air temperature at screen level (1.5m) in the previous 3 hours.", + "dimensions": [], "unit": "K", - "roles": [ - "data" - ] + "attrs": { + "height": "1.5m", + "1H_timesteps": "-", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } }, "temperature_at_screen_level_min-PT06H": { - "type": "application/netcdf", - "title": "Six hourly temperature at screen level min", "description": "Minimum instantaneous air temperature at screen level (1.5m) in the previous 6 hours.", + "dimensions": [], "unit": "K", - "roles": [ - "data" - ] + "attrs": { + "height": "1.5m", + "1H_timesteps": "-", + "3H_timesteps": "-", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "temperature_at_surface": { - "type": "application/netcdf", - "title": "Temperature at surface", "description": "Temperature at the surface interface between the air and the ground.", + "dimensions": [], "unit": "K", - "roles": [ - "data" - ] + "attrs": { + "height": "surface", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "temperature_of_dew_point_at_screen_level": { - "type": "application/netcdf", - "title": "Dew point temperature at screen level", "description": "Instantaneous dew point temperature (temperature at which a parcel of air reaches saturation upon being cooled at constant pressure and specific humidity) at screen level (1.5m).", + "dimensions": [], "unit": "K", - "roles": [ - "data" - ] + "attrs": { + "height": "1.5m", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "visibility_at_screen_level": { - "type": "application/netcdf", - "title": "Visibility at screen level", "description": "Horizontal distance at which something can be seen horizontally from screen level (1.5m).", + "dimensions": [], "unit": "m", - "roles": [ - "data" - ] + "attrs": { + "height": "1.5m", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "wind_direction_at_10m": { - "type": "application/netcdf", - "title": "Wind direction at 10m", "description": "Wind at 10m above the surface is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. In meteorological reports the direction of the wind vector is given as the direction from which it is blowing. Note: This with wind speed at 10m replaces x wind at 10m and y wind at 10m.", + "dimensions": [], "unit": "degrees", - "roles": [ - "data" - ] + "attrs": { + "height": "10.0m", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "wind_gust_at_10m": { - "type": "application/netcdf", - "title": "Wind gust at 10m", "description": "Diagnosed instantaneous wind gust at 10m. This can be considered as the extreme rather than steady wind speed that might be experienced at this specific time.", + "dimensions": [], "unit": "m/s", - "roles": [ - "data" - ] + "attrs": { + "height": "10.0m", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "wind_gust_at_10m_max-PT01H": { - "type": "application/netcdf", - "title": "Hourly wind gust at 10m max", "description": "Maximum diagnosed instantaneous wind gust at 10m in the previous hour. This can be considered as the extreme wind speed that might be experienced in this period.", + "dimensions": [], "unit": "m/s", - "roles": [ - "data" - ] + "attrs": { + "height": "10.0m", + "1H_timesteps": "T+1 to T+54", + "3H_timesteps": "-", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } }, "wind_gust_at_10m_max-PT03H": { - "type": "application/netcdf", - "title": "Three hourly wind gust at 10m max", "description": "Maximum diagnosed instantaneous wind gust at 10m in the previous 3 hours. This can be considered as the extreme wind speed that might be experienced in this period.", + "dimensions": [], "unit": "m/s", - "roles": [ - "data" - ] + "attrs": { + "height": "10.0m", + "1H_timesteps": "-", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } }, "wind_gust_at_10m_max-PT06H": { - "type": "application/netcdf", - "title": "Six hourly wind gust at 10m max", "description": "Maximum diagnosed instantaneous wind gust at 10m in the previous 6 hours. This can be considered as the extreme wind speed that might be experienced in this period.", + "dimensions": [], "unit": "m/s", - "roles": [ - "data" - ] + "attrs": { + "height": "10.0m", + "1H_timesteps": "-", + "3H_timesteps": "-", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "wind_speed_at_10m": { - "type": "application/netcdf", - "title": "Wind speed at 10m", "description": "Wind at 10m above the surface is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. The speed is the magnitude of velocity.", + "dimensions": [], "unit": "m/s", - "roles": [ - "data" - ] + "attrs": { + "height": "10.0m", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } } }, "stac_version": "1.0.0", diff --git a/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json b/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json index 3dcb7b11..124049a6 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json +++ b/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json @@ -95,9 +95,9 @@ "unit": "m", "attrs": { "height": "surface", - "15m_timesteps": "-", - "1h_timesteps": "T+1 to T+54", - "3h_timesteps": "-", + "15M_timesteps": "-", + "1H_timesteps": "T+1 to T+54", + "3H_timesteps": "-", "content_type": "application/netcdf" } }, @@ -107,9 +107,9 @@ "unit": "m/s", "attrs": { "height": "surface", - "15m_timesteps": "T+0 to T+54", - "1h_timesteps": "-", - "3h_timesteps": "T+57 to T+120", + "15M_timesteps": "T+0 to T+54", + "1H_timesteps": "-", + "3H_timesteps": "T+57 to T+120", "content_type": "application/netcdf" } }, @@ -119,9 +119,9 @@ "unit": "m", "attrs": { "height": "surface", - "15m_timesteps": "-", - "1h_timesteps": "T+0 to T+54", - "3h_timesteps": "T+57 to T+120", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", "content_type": "application/netcdf" } }, @@ -131,9 +131,9 @@ "unit": "1", "attrs": { "height": "surface", - "15m_timesteps": "-", - "1h_timesteps": "T+0 to T+54", - "3h_timesteps": "T+57 to T+120", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", "content_type": "application/netcdf" } }, @@ -143,9 +143,9 @@ "unit": "m", "attrs": { "height": "surface", - "15m_timesteps": "-", - "1h_timesteps": "T+1 to T+54", - "3h_timesteps": "-", + "15M_timesteps": "-", + "1H_timesteps": "T+1 to T+54", + "3H_timesteps": "-", "content_type": "application/netcdf" } }, @@ -155,9 +155,9 @@ "unit": "m", "attrs": { "height": "surface", - "15m_timesteps": "-", - "1h_timesteps": "-", - "3h_timesteps": "T+57 to T+120", + "15M_timesteps": "-", + "1H_timesteps": "-", + "3H_timesteps": "T+57 to T+120", "content_type": "application/netcdf" } }, @@ -167,9 +167,9 @@ "unit": "m/s", "attrs": { "height": "surface", - "15m_timesteps": "T+0 to T+54", - "1h_timesteps": "-", - "3h_timesteps": "T+57 to T+120", + "15M_timesteps": "T+0 to T+54", + "1H_timesteps": "-", + "3H_timesteps": "T+57 to T+120", "content_type": "application/netcdf" } }, @@ -179,9 +179,9 @@ "unit": "Pa", "attrs": { "height": "surface", - "15m_timesteps": "-", - "1h_timesteps": "T+0 to T+54", - "3h_timesteps": "T+57 to T+120", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", "content_type": "application/netcdf" } }, @@ -191,9 +191,9 @@ "unit": "Pa", "attrs": { "height": "surface", - "15m_timesteps": "-", - "1h_timesteps": "T+0 to T+54", - "3h_timesteps": "T+57 to T+120", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", "content_type": "application/netcdf" } }, @@ -203,9 +203,9 @@ "unit": "W/m2", "attrs": { "height": "surface", - "15m_timesteps": "-", - "1h_timesteps": "T+0 to T+54", - "3h_timesteps": "T+57 to T+120", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", "content_type": "application/netcdf" } }, @@ -215,9 +215,9 @@ "unit": "W/m2", "attrs": { "height": "surface", - "15m_timesteps": "-", - "1h_timesteps": "T+0 to T+54", - "3h_timesteps": "T+57 to T+120", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", "content_type": "application/netcdf" } }, @@ -227,9 +227,9 @@ "unit": "W/m2", "attrs": { "height": "surface", - "15m_timesteps": "-", - "1h_timesteps": "T+0 to T+54", - "3h_timesteps": "T+57 to T+120", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", "content_type": "application/netcdf" } }, @@ -239,9 +239,9 @@ "unit": "W/m2", "attrs": { "height": "surface", - "15m_timesteps": "-", - "1h_timesteps": "T+0 to T+54", - "3h_timesteps": "T+57 to T+120", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", "content_type": "application/netcdf" } }, @@ -251,9 +251,9 @@ "unit": "W/m2", "attrs": { "height": "surface", - "15m_timesteps": "-", - "1h_timesteps": "T+0 to T+54", - "3h_timesteps": "T+57 to T+120", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", "content_type": "application/netcdf" } }, @@ -263,9 +263,9 @@ "unit": "m", "attrs": { "height": "surface", - "15m_timesteps": "-", - "1h_timesteps": "T+1 to T+54", - "3h_timesteps": "-", + "15M_timesteps": "-", + "1H_timesteps": "T+1 to T+54", + "3H_timesteps": "-", "content_type": "application/netcdf" } }, @@ -275,9 +275,9 @@ "unit": "m", "attrs": { "height": "surface", - "15m_timesteps": "-", - "1h_timesteps": "-", - "3h_timesteps": "T+57 to T+120", + "15M_timesteps": "-", + "1H_timesteps": "-", + "3H_timesteps": "T+57 to T+120", "content_type": "application/netcdf" } }, @@ -287,9 +287,9 @@ "unit": "m/s", "attrs": { "height": "surface", - "15m_timesteps": "T+0 to T+54", - "1h_timesteps": "-", - "3h_timesteps": "T+57 to T+120", + "15M_timesteps": "T+0 to T+54", + "1H_timesteps": "-", + "3H_timesteps": "T+57 to T+120", "content_type": "application/netcdf" } }, @@ -299,9 +299,9 @@ "unit": "1", "attrs": { "height": "1.5m", - "15m_timesteps": "-", - "1h_timesteps": "T+0 to T+54", - "3h_timesteps": "T+57 to T+120", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", "content_type": "application/netcdf" } }, @@ -311,9 +311,9 @@ "unit": "W/m2", "attrs": { "height": "surface", - "15m_timesteps": "-", - "1h_timesteps": "T+0 to T+54", - "3h_timesteps": "T+57 to T+120", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", "content_type": "application/netcdf" } }, @@ -323,9 +323,9 @@ "unit": "m", "attrs": { "height": "surface", - "15m_timesteps": "-", - "1h_timesteps": "T+0 to T+54", - "3h_timesteps": "T+57 to T+120", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", "content_type": "application/netcdf" } }, @@ -335,9 +335,9 @@ "unit": "m", "attrs": { "height": "surface", - "15m_timesteps": "-", - "1h_timesteps": "T+1 to T+54", - "3h_timesteps": "-", + "15M_timesteps": "-", + "1H_timesteps": "T+1 to T+54", + "3H_timesteps": "-", "content_type": "application/netcdf" } }, @@ -347,9 +347,9 @@ "unit": "m", "attrs": { "height": "surface", - "15m_timesteps": "-", - "1h_timesteps": "-", - "3h_timesteps": "T+57 to T+120", + "15M_timesteps": "-", + "1H_timesteps": "-", + "3H_timesteps": "T+57 to T+120", "content_type": "application/netcdf" } }, @@ -359,9 +359,9 @@ "unit": "m/s", "attrs": { "height": "surface", - "15m_timesteps": "T+0 to T+54", - "1h_timesteps": "-", - "3h_timesteps": "T+57 to T+120", + "15M_timesteps": "T+0 to T+54", + "1H_timesteps": "-", + "3H_timesteps": "T+57 to T+120", "content_type": "application/netcdf" } }, @@ -371,9 +371,9 @@ "unit": "K", "attrs": { "height": "1.5m", - "15m_timesteps": "-", - "1h_timesteps": "T+0 to T+54", - "3h_timesteps": "T+57 to T+120", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", "content_type": "application/netcdf" } }, @@ -383,9 +383,9 @@ "unit": "K", "attrs": { "height": "1.5m", - "15m_timesteps": "-", - "1h_timesteps": "T+1 to T+120", - "3h_timesteps": "-", + "15M_timesteps": "-", + "1H_timesteps": "T+1 to T+120", + "3H_timesteps": "-", "content_type": "application/netcdf" } }, @@ -395,9 +395,9 @@ "unit": "K", "attrs": { "height": "1.5m", - "15m_timesteps": "-", - "1h_timesteps": "T+1 to T+120", - "3h_timesteps": "-", + "15M_timesteps": "-", + "1H_timesteps": "T+1 to T+120", + "3H_timesteps": "-", "content_type": "application/netcdf" } }, @@ -407,9 +407,9 @@ "unit": "K", "attrs": { "height": "surface", - "15m_timesteps": "-", - "1h_timesteps": "T+0 to T+54", - "3h_timesteps": "T+57 to T+120", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", "content_type": "application/netcdf" } }, @@ -419,9 +419,9 @@ "unit": "K", "attrs": { "height": "1.5m", - "15m_timesteps": "-", - "1h_timesteps": "T+0 to T+54", - "3h_timesteps": "T+57 to T+120", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", "content_type": "application/netcdf" } }, @@ -431,9 +431,9 @@ "unit": "m", "attrs": { "height": "1.5m", - "15m_timesteps": "-", - "1h_timesteps": "T+0 to T+54", - "3h_timesteps": "T+57 to T+120", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", "content_type": "application/netcdf" } }, @@ -443,9 +443,9 @@ "unit": "degrees", "attrs": { "height": "10.0m", - "15m_timesteps": "-", - "1h_timesteps": "T+0 to T+54", - "3h_timesteps": "T+57 to T+120", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", "content_type": "application/netcdf" } }, @@ -455,9 +455,9 @@ "unit": "m/s", "attrs": { "height": "10.0m", - "15m_timesteps": "-", - "1h_timesteps": "T+0 to T+54", - "3h_timesteps": "T+57 to T+120", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", "content_type": "application/netcdf" } }, @@ -467,9 +467,9 @@ "unit": "m/s", "attrs": { "height": "10.0m", - "15m_timesteps": "-", - "1h_timesteps": "T+1 to T+54", - "3h_timesteps": "-", + "15M_timesteps": "-", + "1H_timesteps": "T+1 to T+54", + "3H_timesteps": "-", "content_type": "application/netcdf" } }, @@ -479,9 +479,9 @@ "unit": "m/s", "attrs": { "height": "10.0m", - "15m_timesteps": "-", - "1h_timesteps": "-", - "3h_timesteps": "T+57 to T+120", + "15M_timesteps": "-", + "1H_timesteps": "-", + "3H_timesteps": "T+57 to T+120", "content_type": "application/netcdf" } }, @@ -491,9 +491,9 @@ "unit": "m/s", "attrs": { "height": "10.0m", - "15m_timesteps": "-", - "1h_timesteps": "T+0 to T+54", - "3h_timesteps": "T+57 to T+120", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", "content_type": "application/netcdf" } } From c458572c4e3bdfce75099e588af2c0f2c8817142 Mon Sep 17 00:00:00 2001 From: Jeff Shepherd Date: Mon, 8 Dec 2025 12:21:02 +0000 Subject: [PATCH 20/28] tidy up Update Frequency docs for UK Collection --- .../description.md | 8 ++++---- .../description.md | 8 ++++---- .../description.md | 7 ++++--- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/datasets/met-office/collection/met-office-uk-deterministic-height-level/description.md b/datasets/met-office/collection/met-office-uk-deterministic-height-level/description.md index d9bdf7cb..c5a66d5d 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-height-level/description.md +++ b/datasets/met-office/collection/met-office-uk-deterministic-height-level/description.md @@ -16,10 +16,10 @@ The following time steps are available: * every 3 hours from 57 to 120 hours ## Update frequency -There are three lengths of model run, each with its own update frequency: -* The Nowcast-length runs forecast the next 12 hours and are at 0100, 0200, 0400, 0500, 0700, 0800, 1000, 1100, 1300, 1400, 1600, 1700, 1900, 2000, 2200 and 2300 UTC. -* The Short-length runs forecast the next 54 hours and are at 0000, 0600, 0900, 1200, 1800 and 2100 UTC. -* The Medium-Length runs forecast the next 120 hours and are at 0300 and 1500 UTC. +There are three lengths of model run, each with its own update frequency: +* Nowcast: forecasts the next 12 hours and are at 0100, 0200, 0400, 0500, 0700, 0800, 1000, 1100, 1300, 1400, 1600, 1700, 1900, 2000, 2200 and 2300 UTC. +* Short: forecasts the next 54 hours and are at 0000, 0600, 0900, 1200, 1800 and 2100 UTC. +* Medium: forecasts the next 120 hours and are at 0300 and 1500 UTC. ## Archive length and latency diff --git a/datasets/met-office/collection/met-office-uk-deterministic-pressure-level/description.md b/datasets/met-office/collection/met-office-uk-deterministic-pressure-level/description.md index 161ebc6a..aa80c970 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-pressure-level/description.md +++ b/datasets/met-office/collection/met-office-uk-deterministic-pressure-level/description.md @@ -19,10 +19,10 @@ The following time steps are available: * every 3 hours from 57 to 120 hours ## Update frequency -There are three lengths of model run, each with its own update frequency: -* The Nowcast-length runs forecast the next 12 hours and are at 0100, 0200, 0400, 0500, 0700, 0800, 1000, 1100, 1300, 1400, 1600, 1700, 1900, 2000, 2200 and 2300 UTC. -* The Short-length runs forecast the next 54 hours and are at 0000, 0600, 0900, 1200, 1800 and 2100 UTC. -* The Medium-Length runs forecast the next 120 hours and are at 0300 and 1500 UTC. +There are three lengths of model run, each with its own update frequency: +* Nowcast: forecasts the next 12 hours and are at 0100, 0200, 0400, 0500, 0700, 0800, 1000, 1100, 1300, 1400, 1600, 1700, 1900, 2000, 2200 and 2300 UTC. +* Short: forecasts the next 54 hours and are at 0000, 0600, 0900, 1200, 1800 and 2100 UTC. +* Medium: forecasts the next 120 hours and are at 0300 and 1500 UTC. ## Archive length and latency diff --git a/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere-level/description.md b/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere-level/description.md index 205eda0b..f77ba483 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere-level/description.md +++ b/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere-level/description.md @@ -14,9 +14,10 @@ The following time steps are available: ## Update frequency There are three lengths of model run, each with its own update frequency: -* The Nowcast-length runs forecast the next 12 hours and are at 0100, 0200, 0400, 0500, 0700, 0800, 1000, 1100, 1300, 1400, 1600, 1700, 1900, 2000, 2200 and 2300 UTC. -* The Short-length runs forecast the next 54 hours and are at 0000, 0600, 0900, 1200, 1800 and 2100 UTC. -* The Medium-Length runs forecast the next 120 hours and are at 0300 and 1500 UTC. +There are three lengths of model run, each with its own update frequency: +* Nowcast: forecasts the next 12 hours and are at 0100, 0200, 0400, 0500, 0700, 0800, 1000, 1100, 1300, 1400, 1600, 1700, 1900, 2000, 2200 and 2300 UTC. +* Short: forecasts the next 54 hours and are at 0000, 0600, 0900, 1200, 1800 and 2100 UTC. +* Medium: forecasts the next 120 hours and are at 0300 and 1500 UTC. ## Archive length and latency From fa8446cc53e7a54a8ce70ee4da30b54526537a34 Mon Sep 17 00:00:00 2001 From: Jeff Shepherd Date: Mon, 8 Dec 2025 13:13:04 +0000 Subject: [PATCH 21/28] add Global collection documentation markdown --- .../description.md | 53 +++++++++++++++++++ .../description.md | 53 +++++++++++++++++++ .../description.md | 49 +++++++++++++++++ .../description.md | 1 + 4 files changed, 156 insertions(+) create mode 100644 datasets/met-office/collection/met-office-global-deterministic-height-level/description.md create mode 100644 datasets/met-office/collection/met-office-global-deterministic-pressure-level/description.md create mode 100644 datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere-level/description.md diff --git a/datasets/met-office/collection/met-office-global-deterministic-height-level/description.md b/datasets/met-office/collection/met-office-global-deterministic-height-level/description.md new file mode 100644 index 00000000..dd7a01d1 --- /dev/null +++ b/datasets/met-office/collection/met-office-global-deterministic-height-level/description.md @@ -0,0 +1,53 @@ +This collection offers 1 parameter at 33 available height levels (5m to 6000m) from the Met Office global deterministic 10km forecast. This is a numerical weather prediction forecast for the whole globe, with a resolution of approximately 0.09 degrees i.e. 10km (2,560 x 1,920 grid points). + +The data is available as NetCDF files. It's offered on a free, unsupported basis, so we don’t recommend using it for any critical business purposes. + +## Height Levels +Available height levels, in metres (m) above ground, are: +* 5.0 10.0 20.0 30.0 50.0 75.0 100.0 150.0 200.0 250.0 300.0 400.0 500.0 600.0 700.0 800.0 1000.0 1250.0 1500.0 1750.0 2000.0 2250.0 2500.0 2750.0 3000.0 3250.0 3500.0 3750.0 4000.0 4500.0 5000.0 5500.0 6000.0 + +## Timesteps +The following timesteps are available: +* every hour from 0 to 54 hours (for most parameters, see parameter table for exceptions) +* every 3 hours from 57 to 144 hours +* every 6 hours from 150 to 168 hours + +## Update Frequency +The model is run four times each day, with forecast reference times of 00:00, 06:00, 12:00 and 18:00 (UTC). + +The runs at 00:00 and 12:00 provide data for the next 168 hours. The runs at 06:00 and 18:00 provide data for the next 67 hours. + +The forecast reference time represents the nominal data time or start time of a model forecast run, rather than the time when the data is available. + +## Archive length and latency +As of December 2025, the archive contains data from December 2023 onwards. Forecasts will continue to be available for at least two years from their data date. + +The data is typically available 6 hours after the model run time. + +## Technical specs +The data is available as NetCDF files. NetCDF (Network Common Data Form) is an interface for array-orientated data access and a library that supports the interface. It is composed of 3 components: +* Variables store the data +* Dimensions give relevant dimension information for the variables +* Attributes provide auxiliary information about the variables or dataset itself + +NetCDF is used within the atmospheric and oceanic science communities and is network transparent, allowing for it to be accessed by computers that store integers, characters and floating-point numbers. + +Iris supports NetCDF files through reading, writing and handling. Iris implements a model based on the CF conventions, giving a format-agnostic interface for working with data. + +[Find further support on using Iris with NetCDF files.](https://scitools-iris.readthedocs.io/en/stable/) + +## Help us improve the data services we offer +[Join the Met Office research panel](https://forms.office.com/Pages/ResponsePage.aspx?id=YYHxF9cgRkeH_VD-PjtmGdxioYGoFbFIkZuB_q8Fb3VUQkoxRVQzTFdUMzNMVzczWVM5VTc3QTY3MC4u) to help us understand how people interact with weather and climate data, uncover challenges and explore opportunities. + +## How to cite +Met Office global deterministic 10km forecast was accessed on DATE from _insert Planetary Computer link_. + +## License +British Crown copyright 2023-2025, the Met Office, is licensed under [CC BY-SA](https://creativecommons.org/licenses/by-sa/4.0/deed.en). + +## Providers +[Met Office](https://www.metoffice.gov.uk/) +See all datasets managed by [Met Office.](https://registry.opendata.aws/?search=managedBy:met%20office) + +## Contact +[servicedesk@metoffice.gov.uk](mailto:servicedesk@metoffice.gov.uk). Service desk is only available Mon – Fri, 09:00 until 17:00 UTC (-1 hour during BST). As a non-operational service we aim to respond to any service support enquiries within 3-5 business days. \ No newline at end of file diff --git a/datasets/met-office/collection/met-office-global-deterministic-pressure-level/description.md b/datasets/met-office/collection/met-office-global-deterministic-pressure-level/description.md new file mode 100644 index 00000000..61a8282e --- /dev/null +++ b/datasets/met-office/collection/met-office-global-deterministic-pressure-level/description.md @@ -0,0 +1,53 @@ +This collection offers 8 parameters at 33 available pressure levels (from 100000Pa to 1000Pa) from the Met Office global deterministic 10km forecast. This is a numerical weather prediction forecast for the whole globe, with a resolution of approximately 0.09 degrees i.e. 10km (2,560 x 1,920 grid points). + +The data is available as NetCDF files. It's offered on a free, unsupported basis, so we don’t recommend using it for any critical business purposes. + +## Pressure Levels +Available pressure levels, in Pascals (Pa), are: +* 100000.0 97500.0 95000.0 92500.0 90000.0 85000.0 80000.0 75000.0 70000.0 65000.0 60000.0 55000.0 50000.0 45000.0 40000.0 37500.0 35000.0 32500.0 30000.0 27500.0 25000.0 22500.0 20000.0 17500.0 15000.0 12500.0 10000.0 7000.0 5000.0 4000.0 3000.0 2000.0 1000.0 + +## Timesteps +The following timesteps are available: +* every hour from 0 to 54 hours (for most parameters, see parameter table for exceptions) +* every 3 hours from 57 to 144 hours +* every 6 hours from 150 to 168 hours + +## Update Frequency +The model is run four times each day, with forecast reference times of 00:00, 06:00, 12:00 and 18:00 (UTC). + +The runs at 00:00 and 12:00 provide data for the next 168 hours. The runs at 06:00 and 18:00 provide data for the next 67 hours. + +The forecast reference time represents the nominal data time or start time of a model forecast run, rather than the time when the data is available. + +## Archive length and latency +As of December 2025, the archive contains data from December 2023 onwards. Forecasts will continue to be available for at least two years from their data date. + +The data is typically available 6 hours after the model run time. + +## Technical specs +The data is available as NetCDF files. NetCDF (Network Common Data Form) is an interface for array-orientated data access and a library that supports the interface. It is composed of 3 components: +* Variables store the data +* Dimensions give relevant dimension information for the variables +* Attributes provide auxiliary information about the variables or dataset itself + +NetCDF is used within the atmospheric and oceanic science communities and is network transparent, allowing for it to be accessed by computers that store integers, characters and floating-point numbers. + +Iris supports NetCDF files through reading, writing and handling. Iris implements a model based on the CF conventions, giving a format-agnostic interface for working with data. + +[Find further support on using Iris with NetCDF files.](https://scitools-iris.readthedocs.io/en/stable/) + +## Help us improve the data services we offer +[Join the Met Office research panel](https://forms.office.com/Pages/ResponsePage.aspx?id=YYHxF9cgRkeH_VD-PjtmGdxioYGoFbFIkZuB_q8Fb3VUQkoxRVQzTFdUMzNMVzczWVM5VTc3QTY3MC4u) to help us understand how people interact with weather and climate data, uncover challenges and explore opportunities. + +## How to cite +Met Office global deterministic 10km forecast was accessed on DATE from _insert Planetary Computer link_. + +## License +British Crown copyright 2023-2025, the Met Office, is licensed under [CC BY-SA](https://creativecommons.org/licenses/by-sa/4.0/deed.en). + +## Providers +[Met Office](https://www.metoffice.gov.uk/) +See all datasets managed by [Met Office.](https://registry.opendata.aws/?search=managedBy:met%20office) + +## Contact +[servicedesk@metoffice.gov.uk](mailto:servicedesk@metoffice.gov.uk). Service desk is only available Mon – Fri, 09:00 until 17:00 UTC (-1 hour during BST). As a non-operational service we aim to respond to any service support enquiries within 3-5 business days. \ No newline at end of file diff --git a/datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere-level/description.md b/datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere-level/description.md new file mode 100644 index 00000000..dd0fe022 --- /dev/null +++ b/datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere-level/description.md @@ -0,0 +1,49 @@ +This collection offers 14 whole-atmosphere parameters from the Met Office global deterministic 10km forecast. This is a numerical weather prediction forecast for the whole globe, with a resolution of approximately 0.09 degrees i.e. 10km (2,560 x 1,920 grid points). + +The data is available as NetCDF files. It's offered on a free, unsupported basis, so we don’t recommend using it for any critical business purposes. + +## Timesteps +The following timesteps are available: +* every hour from 0 to 54 hours (for most parameters, see parameter table for exceptions) +* every 3 hours from 57 to 144 hours +* every 6 hours from 150 to 168 hours + +## Update Frequency +The model is run four times each day, with forecast reference times of 00:00, 06:00, 12:00 and 18:00 (UTC). + +The runs at 00:00 and 12:00 provide data for the next 168 hours. The runs at 06:00 and 18:00 provide data for the next 67 hours. + +The forecast reference time represents the nominal data time or start time of a model forecast run, rather than the time when the data is available. + +## Archive length and latency +As of December 2025, the archive contains data from December 2023 onwards. Forecasts will continue to be available for at least two years from their data date. + +The data is typically available 6 hours after the model run time. + +## Technical specs +The data is available as NetCDF files. NetCDF (Network Common Data Form) is an interface for array-orientated data access and a library that supports the interface. It is composed of 3 components: +* Variables store the data +* Dimensions give relevant dimension information for the variables +* Attributes provide auxiliary information about the variables or dataset itself + +NetCDF is used within the atmospheric and oceanic science communities and is network transparent, allowing for it to be accessed by computers that store integers, characters and floating-point numbers. + +Iris supports NetCDF files through reading, writing and handling. Iris implements a model based on the CF conventions, giving a format-agnostic interface for working with data. + +[Find further support on using Iris with NetCDF files.](https://scitools-iris.readthedocs.io/en/stable/) + +## Help us improve the data services we offer +[Join the Met Office research panel](https://forms.office.com/Pages/ResponsePage.aspx?id=YYHxF9cgRkeH_VD-PjtmGdxioYGoFbFIkZuB_q8Fb3VUQkoxRVQzTFdUMzNMVzczWVM5VTc3QTY3MC4u) to help us understand how people interact with weather and climate data, uncover challenges and explore opportunities. + +## How to cite +Met Office global deterministic 10km forecast was accessed on DATE from _insert Planetary Computer link_. + +## License +British Crown copyright 2023-2025, the Met Office, is licensed under [CC BY-SA](https://creativecommons.org/licenses/by-sa/4.0/deed.en). + +## Providers +[Met Office](https://www.metoffice.gov.uk/) +See all datasets managed by [Met Office.](https://registry.opendata.aws/?search=managedBy:met%20office) + +## Contact +[servicedesk@metoffice.gov.uk](mailto:servicedesk@metoffice.gov.uk). Service desk is only available Mon – Fri, 09:00 until 17:00 UTC (-1 hour during BST). As a non-operational service we aim to respond to any service support enquiries within 3-5 business days. \ No newline at end of file diff --git a/datasets/met-office/collection/met-office-uk-deterministic-height-level/description.md b/datasets/met-office/collection/met-office-uk-deterministic-height-level/description.md index c5a66d5d..80a97ed5 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-height-level/description.md +++ b/datasets/met-office/collection/met-office-uk-deterministic-height-level/description.md @@ -1,5 +1,6 @@ This collection offers 4 parameters at 33 available height levels (5m to 6000m) from the Met Office UKV 2km deterministic forecast. This is a high-resolution gridded weather forecast for the UK, with a resolution of 0.018 degrees, projected on to a 2km horizontal grid. The data is available as NetCDF files. +## Height Levels Available height levels, in metres (m) above ground, are: * 5.0 10.0 20.0 30.0 50.0 75.0 100.0 150.0 200.0 250.0 300.0 400.0 500.0 600.0 700.0 800.0 1000.0 1250.0 1500.0 1750.0 2000.0 2250.0 2500.0 2750.0 3000.0 3250.0 3500.0 3750.0 4000.0 4500.0 5000.0 5500.0 6000.0 From 0fd17ad562f883053964807bf60d5a55a87472cb Mon Sep 17 00:00:00 2001 From: Jeff Shepherd Date: Mon, 8 Dec 2025 13:48:10 +0000 Subject: [PATCH 22/28] convert all Global collections to use datacube extension and add Global collection documentation --- .../template.json | 21 +- .../template.json | 6 +- .../template.json | 127 +++++++---- .../template.json | 206 +++++++++++------- .../template.json | 52 ++--- .../template.json | 10 +- .../template.json | 94 ++++---- .../template.json | 129 ++++++----- 8 files changed, 384 insertions(+), 261 deletions(-) diff --git a/datasets/met-office/collection/met-office-global-deterministic-height-level/template.json b/datasets/met-office/collection/met-office-global-deterministic-height-level/template.json index c485ee38..b681107d 100644 --- a/datasets/met-office/collection/met-office-global-deterministic-height-level/template.json +++ b/datasets/met-office/collection/met-office-global-deterministic-height-level/template.json @@ -43,7 +43,7 @@ "temporal": { "interval": [ [ - "2 years ago", + "2023-12-15T00:00:00Z", null ] ] @@ -75,20 +75,25 @@ } ], "description": "The Met Office Global Deterministic Height Level dataset provides a composite of weather parameters generated for specific atmospheric height levels.", - "item_assets": { + "cube:variables": { "cloud_amount_on_height_levels": { - "type": "application/netcdf", - "title": "Cloud amount on height levels", - "roles": [ - "data" - ] + "description": "Fraction of horizontal grid square occupied by cloud in layers centred on height levels. The levels are height above ground.", + "dimensions": [], + "unit": "1", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } } }, "stac_version": "1.0.0", "msft:group_id": "metoffice", "msft:container": "", "stac_extensions": [ - "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json" + "https://stac-extensions.github.io/forecast/v0.2.0/schema.json", + "https://stac-extensions.github.io/datacube/v2.0.0/schema.json" ], "msft:storage_account": "metofficeeuwest", "msft:short_description": "Met Office Global Deterministic Height Level", diff --git a/datasets/met-office/collection/met-office-global-deterministic-near-surface-level/template.json b/datasets/met-office/collection/met-office-global-deterministic-near-surface-level/template.json index f5263bb6..ca2a7e7e 100644 --- a/datasets/met-office/collection/met-office-global-deterministic-near-surface-level/template.json +++ b/datasets/met-office/collection/met-office-global-deterministic-near-surface-level/template.json @@ -664,10 +664,8 @@ "msft:group_id": "metoffice", "msft:container": "", "stac_extensions": [ - "https://stac-extensions.github.io/classification/v1.0.0/schema.json", - "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json", - "https://stac-extensions.github.io/table/v1.2.0/schema.json", - "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" + "https://stac-extensions.github.io/forecast/v0.2.0/schema.json", + "https://stac-extensions.github.io/datacube/v2.0.0/schema.json" ], "msft:storage_account": "metofficeeuwest", "msft:short_description": "Met Office Global Deterministic Near Surface Level", diff --git a/datasets/met-office/collection/met-office-global-deterministic-pressure-level/template.json b/datasets/met-office/collection/met-office-global-deterministic-pressure-level/template.json index fc38fa3c..f77d0ed6 100644 --- a/datasets/met-office/collection/met-office-global-deterministic-pressure-level/template.json +++ b/datasets/met-office/collection/met-office-global-deterministic-pressure-level/template.json @@ -43,7 +43,7 @@ "temporal": { "interval": [ [ - "2 years ago", + "2023-12-15T00:00:00Z", null ] ] @@ -75,65 +75,110 @@ } ], "description": "The Met Office Global Deterministic Pressure Level dataset provides a composite of weather parameters generated for specific atmospheric pressure levels.", - "item_assets": { + "cube:variables": { + "geopotential_height_on_pressure_levels": { + "description": "Geopotential height of the pressure levels. Note: from January 2026, this parameter will replace height_ASL_on_pressure_levels", + "dimensions": [], + "unit": "m", + "attrs": { + "pressure_levels": "All", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, "height_ASL_on_pressure_levels": { - "type": "application/netcdf", - "title": "Height above sea level on pressure levels", - "roles": [ - "data" - ] + "description": "Height above sea level of the pressure levels. Note: from January 2026, this parameter will be replaced by geopotential_height_on_pressure_levels", + "dimensions": [], + "unit": "m", + "attrs": { + "pressure_levels": "All", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "relative_humidity_on_pressure_levels": { - "type": "application/netcdf", - "title": "Relative humidity on pressure levels", - "roles": [ - "data" - ] + "description": "Fractional relative humidity (ratio of the partial pressure of water vapour to the equilibrium vapour pressure of water) on pressure levels", + "dimensions": [], + "unit": "1", + "attrs": { + "pressure_levels": "All", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "temperature_on_pressure_levels": { - "type": "application/netcdf", - "title": "Temperature on pressure levels", - "roles": [ - "data" - ] + "description": "Air temperature on pressure levels", + "dimensions": [], + "unit": "K", + "attrs": { + "pressure_levels": "All", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "wet_bulb_potential_temperature_on_pressure_levels": { - "type": "application/netcdf", - "title": "Wet bulb temperature on pressure levels", - "roles": [ - "data" - ] + "description": "Wet bulb potential temperature on pressure levels. Wet bulb potential temperature is defined as the temperature that a parcel of air would have if it were brought down to the standard pressure of 1000hPa following a saturated adiabatic lapse rate.", + "dimensions": [], + "unit": "K", + "attrs": { + "pressure_levels": "92500.0, 85000.0, 70000.0", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "wind_direction_on_pressure_levels": { - "type": "application/netcdf", - "title": "Wind direction on pressure levels", - "roles": [ - "data" - ] + "description": "Wind direction on pressure levels is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. In meteorological reports the direction of the wind vector is given as the direction from which it is blowing.", + "dimensions": [], + "unit": "degrees", + "attrs": { + "pressure_levels": "All", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "wind_speed_on_pressure_levels": { - "type": "application/netcdf", - "title": "Wind speed on pressure levels", - "roles": [ - "data" - ] + "description": "Wind speed on pressure levels is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. The speed is the magnitude of velocity.", + "dimensions": [], + "unit": "m/s", + "attrs": { + "pressure_levels": "All", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "wind_vertical_velocity_on_pressure_levels": { - "type": "application/netcdf", - "title": "Wind vertical velocity on pressure levels", - "roles": [ - "data" - ] + "description": "Speed of the vertical component of the air motion at a pressure levels. Upwards is positive and downwards is negative.", + "dimensions": [], + "unit": "m/s", + "attrs": { + "pressure_levels": "70000.0", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } } }, "stac_version": "1.0.0", "msft:group_id": "metoffice", "msft:container": "", "stac_extensions": [ - "https://stac-extensions.github.io/classification/v1.0.0/schema.json", - "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json", - "https://stac-extensions.github.io/table/v1.2.0/schema.json", - "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" + "https://stac-extensions.github.io/forecast/v0.2.0/schema.json", + "https://stac-extensions.github.io/datacube/v2.0.0/schema.json" ], "msft:storage_account": "metofficeeuwest", "msft:short_description": "Met Office Global Deterministic Pressure Level", diff --git a/datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere-level/template.json b/datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere-level/template.json index 88c6e495..96af004c 100644 --- a/datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere-level/template.json +++ b/datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere-level/template.json @@ -43,7 +43,7 @@ "temporal": { "interval": [ [ - "2 years ago", + "2023-12-15T00:00:00Z", null ] ] @@ -75,114 +75,168 @@ } ], "description": "The Met Office Global Deterministic Whole Atmosphere Level dataset provides a composite of weather parameters generated throughout the atmospheric column.", - "item_assets": { + "cube:variables": { "CAPE_mixed_layer_lowest_500m": { - "type": "application/netcdf", - "title": "Convective Available Potential Energy mixed layer lowest 500m", - "roles": [ - "data" - ] + "description": "CAPE (Convective Available Potential Energy) calculated for a mixed layer parcel where a mixed layer parcel is defined as a parcel with thermodynamic properties of the density-weighted mean of the lowest 500 m above ground level.", + "dimensions": [], + "unit": "J/kg", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "CAPE_most_unstable_below_500hPa": { - "type": "application/netcdf", - "title": "Convective Available Potential Energy most unstable below 500hPa", - "roles": [ - "data" - ] + "description": "CAPE (Convective Available Potential Energy) calculated for the most unstable parcel where the most unstable parcel is defined as the parcel with the highest fixed level CAPE launched from any level (including screen-level=1.5m) within 500hPa of the surface pressure.", + "dimensions": [], + "unit": "J/kg", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "CAPE_surface": { - "type": "application/netcdf", - "title": "Convective Available Potential Energy with respect to surface", - "roles": [ - "data" - ] + "description": "Value of CAPE (Convective Available Potential Energy) calculated for a surface based parcel where a surface based parcel is defined as a parcel initiated with thermodynamic properties at screen level height (1.5m) i.e. the parcel is launched from screen level.", + "dimensions": [], + "unit": "J/kg", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "CIN_mixed_layer_lowest_500m": { - "type": "application/netcdf", - "title": "Convective Inhibition mixed layer lowest 500m", - "roles": [ - "data" - ] + "description": "Convective Inhibition calculated as the additional energy required to lift a mixed-layer parcel to its level of free convection. Where a mixed layer parcel is defined as parcel with thermodynamic properties of the density weighted mean of the lowest 500 m above ground level (AGL).", + "dimensions": [], + "unit": "J/kg", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "CIN_most_unstable_below_500hPa": { - "type": "application/netcdf", - "title": "Convective Inhibition most unstable below 500hPa", - "roles": [ - "data" - ] + "description": "Convective Inhibition calculated as the additional energy required to lift the most unstable parcel to its level of free convection. Where most unstable parcel is defined as the parcel with the highest fixed-level CAPE launched from any level (including screen-level) within 500 hPa of the surface pressure.", + "dimensions": [], + "unit": "J/kg", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "CIN_surface": { - "type": "application/netcdf", - "title": "Convective Inhibition with respect to surface", - "roles": [ - "data" - ] + "description": "Convective Inhibition calculated as the additional energy required to lift a surface based parcel (i.e. a parcel launched from screen-level (1.5m)) to its level of free convection.", + "dimensions": [], + "unit": "J/kg", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "cloud_amount_below_1000ft_ASL": { - "type": "application/netcdf", - "title": "Cloud amount below 1000ft Above Sea Level", - "roles": [ - "data" - ] + "description": "Fraction of horizontal grid square occupied by cloud below 1000 feet above sea level.", + "dimensions": [], + "unit": "1", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "cloud_amount_of_high_cloud": { - "type": "application/netcdf", - "title": "Cloud amount of high cloud", - "roles": [ - "data" - ] + "description": "Fraction of horizontal grid square occupied by cloud in the high-level cloud height range (from the lowest model layer containing the 5574m height level up to but excluding the lowest model layer containing 13608m height level).", + "dimensions": [], + "unit": "1", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "cloud_amount_of_low_cloud": { - "type": "application/netcdf", - "title": "Cloud amount of low cloud", - "roles": [ - "data" - ] + "description": "Fraction of horizontal grid square occupied by cloud in the low-level cloud height range (from the lowest model layer containing the 111m height level up to but excluding the lowest model layer containing 1949m height level).", + "dimensions": [], + "unit": "1", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "cloud_amount_of_medium_cloud": { - "type": "application/netcdf", - "title": "Cloud amount of medium cloud", - "roles": [ - "data" - ] + "description": "Fraction of horizontal grid square occupied by cloud in the mid-level cloud height range (from the lowest model layer containing the 1949m height level up to but excluding the lowest model layer containing 5574m height level).", + "dimensions": [], + "unit": "1", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "cloud_amount_of_total_cloud": { - "type": "application/netcdf", - "title": "Cloud amount of total cloud", - "roles": [ - "data" - ] + "description": "Fraction of horizontal grid square occupied by cloud as diagnosed by the model cloud scheme. This is for the whole atmosphere column as seen from the surface or the top of the atmosphere.", + "dimensions": [], + "unit": "1", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "cloud_amount_of_total_convective_cloud": { - "type": "application/netcdf", - "title": "Cloud amount of total convective cloud", - "roles": [ - "data" - ] + "description": "Fraction of horizontal grid square occupied by convective cloud as diagnosed by the model convection scheme. This is for the whole atmosphere column as seen from the surface or the top of the atmosphere.", + "dimensions": [], + "unit": "1", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "pressure_at_tropopause": { - "type": "application/netcdf", - "title": "Pressure at tropopause", - "roles": [ - "data" - ] + "description": "Air pressure at the tropopause.", + "dimensions": [], + "unit": "Pa", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } }, "temperature_at_tropopause": { - "type": "application/netcdf", - "title": "Temperature at tropopause", - "roles": [ - "data" - ] + "description": "Air temperature at the tropopause.", + "dimensions": [], + "unit": "K", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } } }, "stac_version": "1.0.0", "msft:group_id": "metoffice", "msft:container": "", "stac_extensions": [ - "https://stac-extensions.github.io/classification/v1.0.0/schema.json", - "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json", - "https://stac-extensions.github.io/table/v1.2.0/schema.json", - "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" + "https://stac-extensions.github.io/forecast/v0.2.0/schema.json", + "https://stac-extensions.github.io/datacube/v2.0.0/schema.json" ], "msft:storage_account": "metofficeeuwest", "msft:short_description": "Met Office Global Deterministic Whole Atmosphere Level", diff --git a/datasets/met-office/collection/met-office-uk-deterministic-height-level/template.json b/datasets/met-office/collection/met-office-uk-deterministic-height-level/template.json index 6870f66c..e26e3200 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-height-level/template.json +++ b/datasets/met-office/collection/met-office-uk-deterministic-height-level/template.json @@ -75,52 +75,54 @@ ] } ], - "item_assets": { + "cube:variables": { "cloud_amount_on_height_levels": { - "type": "application/netcdf", - "title": "Cloud amount on height levels", "description": "Fraction of horizontal grid square occupied by cloud in layers centred on height levels.", + "dimensions": [], "unit": "1", - "roles": [ - "data" - ] + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "temperature_on_height_levels": { - "type": "application/netcdf", - "title": "Temperature on height levels", "description": "Air temperature on height levels.", + "dimensions": [], "unit": "K", - "roles": [ - "data" - ] + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "wind_direction_on_height_levels": { - "type": "application/netcdf", - "title": "Wind direction on height levels", "description": "Wind direction on height levels is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. In meteorological reports the direction of the wind vector is given as the direction from which it is blowing.", + "dimensions": [], "unit": "degrees", - "roles": [ - "data" - ] + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "wind_speed_on_height_levels": { - "type": "application/netcdf", - "title": "Wind speed on height levels", "description": "Wind speed on height levels is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. The speed is the magnitude of velocity.", + "dimensions": [], "unit": "m/s", - "roles": [ - "data" - ] + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } } }, "stac_version": "1.0.0", "msft:group_id": "metoffice", "msft:container": "", "stac_extensions": [ - "https://stac-extensions.github.io/classification/v1.0.0/schema.json", - "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json", - "https://stac-extensions.github.io/table/v1.2.0/schema.json", - "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" + "https://stac-extensions.github.io/forecast/v0.2.0/schema.json", + "https://stac-extensions.github.io/datacube/v2.0.0/schema.json" ], "msft:storage_account": "metofficeeuwest", "msft:short_description": "Met Office UK Deterministic Height Level", diff --git a/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json b/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json index 124049a6..b835a7d5 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json +++ b/datasets/met-office/collection/met-office-uk-deterministic-near-surface-level/template.json @@ -330,7 +330,7 @@ } }, "snowfall_accumulation-PT01H": { - "description": "Implied depth of the (LWE) snow (as a depth) produced by the model precipitation scheme and deposited on the surface in the previous hour. This excludes the snow produced by the model convection scheme. ", + "description": "Implied depth of the (LWE) snow (as a depth) produced by the model precipitation scheme and deposited on the surface in the previous hour. This excludes the snow produced by the model convection scheme.", "dimensions": [], "unit": "m", "attrs": { @@ -462,7 +462,7 @@ } }, "wind_gust_at_10m_max-PT01H": { - "description": "Maximum diagnosed instantaneous wind gust at 10m in the previous hour. This can be considered as the extreme wind speed that might be experienced in this period. ", + "description": "Maximum diagnosed instantaneous wind gust at 10m in the previous hour. This can be considered as the extreme wind speed that might be experienced in this period.", "dimensions": [], "unit": "m/s", "attrs": { @@ -502,10 +502,8 @@ "msft:group_id": "metoffice", "msft:container": "", "stac_extensions": [ - "https://stac-extensions.github.io/classification/v1.0.0/schema.json", - "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json", - "https://stac-extensions.github.io/table/v1.2.0/schema.json", - "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" + "https://stac-extensions.github.io/forecast/v0.2.0/schema.json", + "https://stac-extensions.github.io/datacube/v2.0.0/schema.json" ], "msft:storage_account": "metofficeeuwest", "msft:short_description": "Met Office UK Deterministic Near Surface Level", diff --git a/datasets/met-office/collection/met-office-uk-deterministic-pressure-level/template.json b/datasets/met-office/collection/met-office-uk-deterministic-pressure-level/template.json index f4df35a9..651918d3 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-pressure-level/template.json +++ b/datasets/met-office/collection/met-office-uk-deterministic-pressure-level/template.json @@ -75,79 +75,91 @@ ] } ], - "item_assets": { - "geopotential_height_on_pressure_levels ": { - "type": "application/netcdf", - "title": "Geopotential height of the pressure levels", + "cube:variables": { + "geopotential_height_on_pressure_levels": { "description": "Note: from January 2026, this parameter will replace height_ASL_on_pressure_levels.", + "dimensions": [], "unit": "m", - "roles": [ - "data" - ] + "attrs": { + "pressure_levels": "All", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "height_ASL_on_pressure_levels": { - "type": "application/netcdf", - "title": "Height above sea level of the pressure levels", "description": "Note: from January 2026, this parameter will be replaced by geopotential_height_on_pressure_levels.", + "dimensions": [], "unit": "m", - "roles": [ - "data" - ] + "attrs": { + "pressure_levels": "All", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "relative_humidity_on_pressure_levels": { - "type": "application/netcdf", - "title": "Fractional relative humidity on pressure levels.", "description": "Ratio of the partial pressure of water vapour to the equilibrium vapour pressure of water.", + "dimensions": [], "unit": "1", - "roles": [ - "data" - ] + "attrs": { + "pressure_levels": "All", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "temperature_on_pressure_levels": { - "type": "application/netcdf", - "title": "Temperature on pressure levels", "description": "Air temperature on pressure levels.", + "dimensions": [], "unit": "K", - "roles": [ - "data" - ] + "attrs": { + "pressure_levels": "All", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "wet_bulb_potential_temperature_on_pressure_levels": { - "type": "application/netcdf", - "title": "Wet bulb potential temperature on pressure levels", "description": "Wet bulb potential temperature is defined as the temperature that a parcel of air would have if it were brought down to the standard pressure of 1000hPa following a saturated adiabatic lapse rate. Available on levels: 85000.0, 70000.0, 50000.0 Pa", + "dimensions": [], "unit": "K", - "roles": [ - "data" - ] + "attrs": { + "pressure_levels": "85000.0, 70000.0, 50000.0", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "wind_direction_on_pressure_levels": { - "type": "application/netcdf", - "title": "Wind direction on pressure levels", "description": "Wind direction on pressure levels is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. In meteorological reports the direction of the wind vector is given as the direction from which it is blowing.", + "dimensions": [], "unit": "degrees", - "roles": [ - "data" - ] + "attrs": { + "pressure_levels": "All", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "wind_speed_on_pressure_levels": { - "type": "application/netcdf", - "title": "Wind speed on pressure levels", "description": "Wind speed on pressure levels is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. The speed is the magnitude of velocity.", + "dimensions": [], "unit": "m/s", - "roles": [ - "data" - ] + "attrs": { + "pressure_levels": "All", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } } }, "stac_version": "1.0.0", "msft:group_id": "metoffice", "msft:container": "", "stac_extensions": [ - "https://stac-extensions.github.io/classification/v1.0.0/schema.json", - "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json", - "https://stac-extensions.github.io/table/v1.2.0/schema.json", - "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" + "https://stac-extensions.github.io/forecast/v0.2.0/schema.json", + "https://stac-extensions.github.io/datacube/v2.0.0/schema.json" ], "msft:storage_account": "metofficeeuwest", "msft:short_description": "Met Office UK Deterministic Pressure Level", diff --git a/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere-level/template.json b/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere-level/template.json index 76fed3f1..f09f2156 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere-level/template.json +++ b/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere-level/template.json @@ -76,115 +76,124 @@ ] } ], - "item_assets": { + "cube:variables": { "CAPE_most_unstable_below_500hPa": { - "type": "application/netcdf", - "title": "Convective Available Potential Energy most unstable below 500hPa", "description": "CAPE (Convective Available Potential Energy) calculated for the most unstable parcel where the most unstable parcel is defined as the parcel with the highest fixed level CAPE launched from any level (including screen-level=1.5m) within 500hPa of the surface pressure.", + "dimensions": [], "unit": "J/kg", - "roles": [ - "data" - ] + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "CAPE_surface": { - "type": "application/netcdf", - "title": "Convective Available Potential Energy with respect to surface", "description": "Value of CAPE (Convective Available Potential Energy) calculated for a surface based parcel where a surface based parcel is defined as a parcel initiated with thermodynamic properties at screen level height (1.5m) i.e. the parcel is launched from screen level.", + "dimensions": [], "unit": "J/kg", - "roles": [ - "data" - ] + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "cloud_amount_below_1000ft_ASL": { - "type": "application/netcdf", - "title": "Cloud amount below 1000ft Above Sea Level", "description": "Fraction of horizontal grid square occupied by cloud below 1000 feet above sea level.", + "dimensions": [], "unit": "1", - "roles": [ - "data" - ] + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "cloud_amount_of_high_cloud": { - "type": "application/netcdf", - "title": "Cloud amount of high cloud", "description": "Fraction of horizontal grid square occupied by cloud in the high-level cloud height range (from the lowest model layer containing the 5574m height level up to but excluding the lowest model layer containing 13608m height level).", + "dimensions": [], "unit": "1", - "roles": [ - "data" - ] + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "cloud_amount_of_low_cloud": { - "type": "application/netcdf", - "title": "Cloud amount of low cloud", "description": "Fraction of horizontal grid square occupied by cloud in the low-level cloud height range (from the lowest model layer containing the 111m height level up to but excluding the lowest model layer containing 1949m height level).", + "dimensions": [], "unit": "1", - "roles": [ - "data" - ] + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "cloud_amount_of_medium_cloud": { - "type": "application/netcdf", - "title": "Cloud amount of medium cloud", "description": "Fraction of horizontal grid square occupied by cloud in the mid-level cloud height range (from the lowest model layer containing the 1949m height level up to but excluding the lowest model layer containing 5574m height level).", + "dimensions": [], "unit": "1", - "roles": [ - "data" - ] + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "cloud_amount_of_total_cloud": { - "type": "application/netcdf", - "title": "Cloud amount of total cloud", "description": "Fraction of horizontal grid square occupied by cloud as diagnosed by the model cloud scheme. This is for the whole atmosphere column as seen from the surface or the top of the atmosphere.", + "dimensions": [], "unit": "1", - "roles": [ - "data" - ] + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "height_AGL_at_cloud_base_where_cloud_cover_2p5_oktas": { - "type": "application/netcdf", - "title": "Height above ground level at cloud base where cloud cover 2p5 oktas", "description": "Height of the base of the lowest cloud above the surface (ground) where there is at least 2.5 oktas (eighths) of cloud cover. This corresponds to scattered cloud.", + "dimensions": [], "unit": "m", - "roles": [ - "data" - ] + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "height_AGL_at_freezing_level": { - "type": "application/netcdf", - "title": "Height above ground level at freezing level", "description": "Height of the 0oC isotherm (freezing level) above the surface (ground).", + "dimensions": [], "unit": "m", - "roles": [ - "data" - ] + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "height_AGL_at_wet_bulb_freezing_level": { - "type": "application/netcdf", - "title": "Height above ground level at wet bulb freezing level", "description": "Height of the wet bulb freezing level (i.e. where the wet bulb temperature is 0oC) above sea level. This is also referred to as the altitude of the wet bulb freezing level or (geometric) height above the geoid, which is the reference geopotential surface. Wet bulb temperature is defined as the temperature of a parcel of air cooled to saturation (100% relative humidity) by the evaporation of water into it with the latent heat supplied by the parcel.", + "dimensions": [], "unit": "m", - "roles": [ - "data" - ] + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } }, "lightning_flash_accumulation-PT01H": { - "type": "application/netcdf", - "title": "Hourly number of lightning flashes per unit area", "description": "This represents the total (cloud-to-cloud and cloud-to-ground) lightning flashes per square metre within the previous hour", + "dimensions": [], "unit": "count/m2", - "roles": [ - "data" - ] + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "-", + "content_type": "application/netcdf" + } } }, "stac_version": "1.0.0", "msft:group_id": "metoffice", "msft:container": "", "stac_extensions": [ - "https://stac-extensions.github.io/classification/v1.0.0/schema.json", - "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json", - "https://stac-extensions.github.io/table/v1.2.0/schema.json", - "https://stac-extensions.github.io/forecast/v0.2.0/schema.json" + "https://stac-extensions.github.io/forecast/v0.2.0/schema.json", + "https://stac-extensions.github.io/datacube/v2.0.0/schema.json" ], "msft:storage_account": "metofficeeuwest", "msft:short_description": "Met Office UK Deterministic Whole Atmosphere Level", From 216cb8b543ef6915f459ebbfbe97ffff0f4247bd Mon Sep 17 00:00:00 2001 From: Pete Gadomski Date: Mon, 8 Dec 2025 09:54:51 -0700 Subject: [PATCH 23/28] fix: update collections --- .../template.json | 166 +-- .../template.json | 1322 ++++++++--------- .../template.json | 336 ++--- .../template.json | 458 +++--- .../template.json | 231 ++- .../template.json | 999 ++++++------- .../template.json | 305 ++-- .../template.json | 373 +++-- 8 files changed, 2000 insertions(+), 2190 deletions(-) diff --git a/datasets/met-office/collection/met-office-global-deterministic-height/template.json b/datasets/met-office/collection/met-office-global-deterministic-height/template.json index b681107d..bc19fbe5 100644 --- a/datasets/met-office/collection/met-office-global-deterministic-height/template.json +++ b/datasets/met-office/collection/met-office-global-deterministic-height/template.json @@ -1,101 +1,73 @@ { - "id": "met-office-global-deterministic-height-level", - "type": "Collection", - "links": [ - { - "rel": "license", - "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", - "type": "text/html", - "title": "Creative Commons Attribution-ShareAlike 4.0" - }, - { - "rel": "cite-as", - "title": "British Crown copyright 2023-2025, the Met Office, is licensed under CC BY-SA" - }, - { - "rel": "describedBy", - "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", - "title": "Met Office Dataset Documentation" - } - ], - "title": "Met Office Global Deterministic Height Level", - "assets": { - "thumbnail": { - "href": "", - "type": "image/png", - "roles": [ - "thumbnail" - ], - "title": "Met Office Global Deterministic Height Level Thumbnail" - } + "id": "met-office-global-deterministic-height", + "type": "Collection", + "links": [ + { + "rel": "license", + "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", + "type": "text/html", + "title": "Creative Commons Attribution-ShareAlike 4.0" }, - "extent": { - "spatial": { - "bbox": [ - [ - -180, - -90, - 180, - 90 - ] - ] - }, - "temporal": { - "interval": [ - [ - "2023-12-15T00:00:00Z", - null - ] - ] - } + + { + "rel": "describedBy", + "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", + "title": "Met Office Dataset Documentation" + } + ], + "title": "Met Office Global Deterministic Height Level", + "assets": { + "thumbnail": { + "href": "https://ai4edatasetspublicassets.blob.core.windows.net/assets/pc_thumbnails/met-office-global-deterministic-height.jpg", + "type": "image/png", + "roles": ["thumbnail"], + "title": "Met Office Global Deterministic Height Level Thumbnail" + } + }, + "extent": { + "spatial": { + "bbox": [[-180, -90, 180, 90]] }, - "license": "proprietary", - "keywords": [ - "MetOffice", - "Global", - "Cloud" - ], - "providers": [ - { - "url": "https://www.metoffice.gov.uk/", - "name": "Met Office", - "roles": [ - "producer", - "licensor", - "processor" - ] - }, - { - "url": "https://planetarycomputer.microsoft.com", - "name": "Microsoft", - "roles": [ - "host", - "processor" - ] - } - ], - "description": "The Met Office Global Deterministic Height Level dataset provides a composite of weather parameters generated for specific atmospheric height levels.", - "cube:variables": { - "cloud_amount_on_height_levels": { - "description": "Fraction of horizontal grid square occupied by cloud in layers centred on height levels. The levels are height above ground.", - "dimensions": [], - "unit": "1", - "attrs": { - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - } + "temporal": { + "interval": [["2023-12-15T00:00:00Z", null]] + } + }, + "license": "proprietary", + "keywords": ["MetOffice", "Global", "Cloud"], + "providers": [ + { + "url": "https://www.metoffice.gov.uk/", + "name": "Met Office", + "roles": ["producer", "licensor", "processor"] }, - "stac_version": "1.0.0", - "msft:group_id": "metoffice", - "msft:container": "", - "stac_extensions": [ - "https://stac-extensions.github.io/forecast/v0.2.0/schema.json", - "https://stac-extensions.github.io/datacube/v2.0.0/schema.json" - ], - "msft:storage_account": "metofficeeuwest", - "msft:short_description": "Met Office Global Deterministic Height Level", - "msft:region": "westeurope" -} \ No newline at end of file + { + "url": "https://planetarycomputer.microsoft.com", + "name": "Microsoft", + "roles": ["host", "processor"] + } + ], + "description": "The Met Office Global Deterministic Height Level dataset provides a composite of weather parameters generated for specific atmospheric height levels.", + "cube:variables": { + "cloud_amount_on_height_levels": { + "description": "Fraction of horizontal grid square occupied by cloud in layers centred on height levels. The levels are height above ground.", + "dimensions": [], + "unit": "1", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + } + }, + "stac_version": "1.0.0", + "msft:group_id": "metoffice", + "msft:container": "", + "stac_extensions": [ + "https://stac-extensions.github.io/forecast/v0.2.0/schema.json", + "https://stac-extensions.github.io/datacube/v2.0.0/schema.json" + ], + "msft:storage_account": "metofficeeuwest", + "msft:short_description": "Met Office Global Deterministic Height Level", + "msft:region": "westeurope" +} diff --git a/datasets/met-office/collection/met-office-global-deterministic-near-surface/template.json b/datasets/met-office/collection/met-office-global-deterministic-near-surface/template.json index ca2a7e7e..9904e49f 100644 --- a/datasets/met-office/collection/met-office-global-deterministic-near-surface/template.json +++ b/datasets/met-office/collection/met-office-global-deterministic-near-surface/template.json @@ -1,673 +1,651 @@ { - "id": "met-office-global-deterministic-near-surface-level", - "type": "Collection", - "links": [ - { - "rel": "license", - "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", - "type": "text/html", - "title": "Creative Commons Attribution-ShareAlike 4.0" - }, - { - "rel": "describedby", - "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", - "title": "Met Office Dataset Documentation" - } - ], - "title": "Near-surface level collection Met Office global deterministic 10km forecast", - "assets": { - "thumbnail": { - "href": "", - "type": "image/png", - "roles": [ - "thumbnail" - ], - "title": "Near-surface level collection Met Office global deterministic 10km forecast thumbnail" - } - }, - "extent": { - "spatial": { - "bbox": [ - [ - -180, - -90, - 180, - 90 - ] - ] - }, - "temporal": { - "interval": [ - [ - "2023-12-15T00:00:00Z", - null - ] - ] - } - }, - "license": "proprietary", - "keywords": [ - "Met Office", - "Global", - "Forecast", - "Cloud", - "Fog", - "Heat Flux", - "Precipitation", - "Pressure", - "Radiation", - "Rainfall", - "Humidity", - "Snow", - "Temperature", - "Wind" - ], - "providers": [ - { - "url": "https://www.metoffice.gov.uk/", - "name": "Met Office", - "roles": [ - "producer", - "licensor", - "processor" - ] - }, - { - "url": "https://planetarycomputer.microsoft.com", - "name": "Microsoft", - "roles": [ - "host", - "processor" - ] - } - ], - "cube:variables": { - "fog_fraction_at_screen_level": { - "description": "Here fog means a visibility of 1000 m or lower. The reduction in visibility is caused water droplets or minute ice crystals forming close to the surface. This quantity represents the fraction of horizontal grid square occupied by fog. An alternative interpretation is that this represents the fractional probability of fog being present at any location in the grid square.", - "dimensions": [], - "unit": "1", - "attrs": { - "height": "1.5m", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "height_of_orography": { - "description": "Altitude or (geometric) height above the geoid of the surface (ground). It is worth remembering that orographic height can be negative, particularly in some of the inland sea areas (e.g. Caspian Sea at -27m and Dead Sea at -430m)", - "dimensions": [], - "unit": "m", - "attrs": { - "height": "surface", - "1H_timesteps": "T+0 only", - "3H_timesteps": "-", - "6H_timesteps": "-", - "content_type": "application/netcdf" - } - }, - "latent_heat_flux_at_surface_mean-PT01H": { - "description": "The latent heat flux, averaged over a model time step, at the surface.", - "dimensions": [], - "unit": "W/m2", - "attrs": { - "height": "surface", - "1H_timesteps": "T+1 to T+54", - "3H_timesteps": "-", - "6H_timesteps": "-", - "content_type": "application/netcdf" - } - }, - "latent_heat_flux_at_surface_mean-PT03H": { - "description": "The latent heat flux, averaged over a model time step, at the surface.", - "dimensions": [], - "unit": "W/m2", - "attrs": { - "height": "surface", - "1H_timesteps": "-", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "-", - "content_type": "application/netcdf" - } - }, - "latent_heat_flux_at_surface_mean-PT06H": { - "description": "The latent heat flux, averaged over a model time step, at the surface.", - "dimensions": [], - "unit": "W/m2", - "attrs": { - "height": "surface", - "1H_timesteps": "-", - "3H_timesteps": "-", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "precipitation_accumulation-PT01H": { - "description": "Implied depth of the layer of liquid water which has been deposited on the surface in the previous hour. This includes rain, snow and hail, with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", - "dimensions": [], - "unit": "m", - "attrs": { - "height": "surface", - "1H_timesteps": "T+1 to T+48", - "3H_timesteps": "-", - "6H_timesteps": "-", - "content_type": "application/netcdf" - } - }, - "precipitation_accumulation-PT03H": { - "description": "Implied depth of the layer of liquid water which has been deposited on the surface in the previous 3 hours. This includes rain, snow and hail, with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", - "dimensions": [], - "unit": "m", - "attrs": { - "height": "surface", - "1H_timesteps": "-", - "3H_timesteps": "T+51 to T+144", - "6H_timesteps": "-", - "content_type": "application/netcdf" - } - }, - "precipitation_accumulation-PT06H": { - "description": "Implied depth of the layer of liquid water which has been deposited on the surface in the previous 6 hours. This includes rain, snow and hail, with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", - "dimensions": [], - "unit": "m", - "attrs": { - "height": "surface", - "1H_timesteps": "-", - "3H_timesteps": "-", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "precipitation_rate": { - "description": "Instantaneous rate at which liquid water (as a depth) was being deposited on the surface. This includes rain, snow and hail with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", - "dimensions": [], - "unit": "m/s", - "attrs": { - "height": "surface", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "pressure_at_mean_sea_level": { - "description": "Air pressure at mean sea level which is close to the geoid in sea areas. Air pressure at sea level is the quantity often abbreviated as MSLP or PMSL.", - "dimensions": [], - "unit": "Pa", - "attrs": { - "height": "surface", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "radiation_flux_in_longwave_downward_at_surface": { - "description": "Longwave radiation at the surface from above directed at the ground.", - "dimensions": [], - "unit": "W/m2", - "attrs": { - "height": "surface", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "radiation_flux_in_shortwave_direct_downward_at_surface": { - "description": "Direct component of shortwave radiation at the surface from above directed at the ground.", - "dimensions": [], - "unit": "W/m2", - "attrs": { - "height": "surface", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "radiation_flux_in_shortwave_total_downward_at_surface": { - "description": "Total shortwave radiation at the surface from above directed at the ground.", - "dimensions": [], - "unit": "W/m2", - "attrs": { - "height": "surface", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "radiation_flux_in_uv_downward_at_surface": { - "description": "Ultaviolet radiation at the surface from above directed at the ground.", - "dimensions": [], - "unit": "W/m2", - "attrs": { - "height": "surface", - "1H_timesteps": "-", - "3H_timesteps": "T+0 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "rainfall_accumulation-PT01H": { - "description": "Implied depth of the rain produced by the model precipitation scheme which has been deposited on the surface in the previous hour. This excludes the rain produced by the model convection scheme.", - "dimensions": [], - "unit": "m", - "attrs": { - "height": "surface", - "1H_timesteps": "T+1 to T+54", - "3H_timesteps": "-", - "6H_timesteps": "-", - "content_type": "application/netcdf" - } - }, - "rainfall_accumulation-PT03H": { - "description": "Implied depth of the rain produced by the model precipitation scheme which has been deposited on the surface in the previous 3 hours. This excludes the rain produced by the model convection scheme.", - "dimensions": [], - "unit": "m", - "attrs": { - "height": "surface", - "1H_timesteps": "-", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "-", - "content_type": "application/netcdf" - } - }, - "rainfall_accumulation-PT06H": { - "description": "Implied depth of the rain produced by the model precipitation scheme which has been deposited on the surface in the previous 6 hours. This excludes the rain produced by the model convection scheme.", - "dimensions": [], - "unit": "m", - "attrs": { - "height": "surface", - "1H_timesteps": "-", - "3H_timesteps": "-", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "rainfall_rate": { - "description": "Instantaneous rate at which rain (as a depth) was being produced by the model precipitation scheme and deposited on the surface. This excludes the rain produced by the model convection scheme.", - "dimensions": [], - "unit": "m/s", - "attrs": { - "height": "surface", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "rainfall_rate_from_convection": { - "description": "Instantaneous rate at which rain (as a depth) was produced by the model convection scheme and deposited on the surface. The rainfall rate can be added to this to get the total rainfall rate.", - "dimensions": [], - "unit": "m/s", - "attrs": { - "height": "surface", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "rainfall_rate_from_convection_max-PT01H": { - "description": "Maximum instantaneous rate at which rain (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous hour.", - "dimensions": [], - "unit": "m/s", - "attrs": { - "height": "surface", - "1H_timesteps": "T+1 to T+54", - "3H_timesteps": "-", - "6H_timesteps": "-", - "content_type": "application/netcdf" - } - }, - "rainfall_rate_from_convection_max-PT03H": { - "description": "Maximum instantaneous rate at which rain (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 3 hours.", - "dimensions": [], - "unit": "m/s", - "attrs": { - "height": "surface", - "1H_timesteps": "-", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "-", - "content_type": "application/netcdf" - } - }, - "rainfall_rate_from_convection_max-PT06H": { - "description": "Maximum instantaneous rate at which rain (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 6 hours.", - "dimensions": [], - "unit": "m/s", - "attrs": { - "height": "surface", - "1H_timesteps": "-", - "3H_timesteps": "-", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "relative_humidity_at_screen_level": { - "description": "Fractional relative humidity (ratio of the partial pressure of water vapour to the equilibrium vapour pressure of water) at screen level (1.5m above the surface.)", - "dimensions": [], - "unit": "1", - "attrs": { - "height": "1.5m", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "snow_depth_water_equivalent": { - "description": "Liquid water equivalent (LWE) depth of the snow lying on the surface (ground). Typically water is 10 times as dense as snow, so multiplying by 10 gives an approximate depth of the snow, although wet snow can be significantly denser and powder snow much less dense.", - "dimensions": [], - "unit": "m", - "attrs": { - "height": "surface", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "snowfall_rate": { - "description": "Instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) was produced by the model precipitation scheme and deposited on the surface. This excludes the snow produced by the the model convection scheme.", - "dimensions": [], - "unit": "m/s", - "attrs": { - "height": "surface", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "snowfall_rate_from_convection": { - "description": "Instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface. The snowfall rate can be added to this to get the total snowfall rate.", - "dimensions": [], - "unit": "m/s", - "attrs": { - "height": "surface", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "snowfall_rate_from_convection_max-PT01H": { - "description": "Maximum instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous hour.", - "dimensions": [], - "unit": "m/s", - "attrs": { - "height": "surface", - "1H_timesteps": "T+1 to T+54", - "3H_timesteps": "-", - "6H_timesteps": "-", - "content_type": "application/netcdf" - } - - }, - "snowfall_rate_from_convection_max-PT03H": { - "description": "Maximum instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 3 hours.", - "dimensions": [], - "unit": "m/s", - "attrs": { - "height": "surface", - "1H_timesteps": "-", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "-", - "content_type": "application/netcdf" - } - }, - "snowfall_rate_from_convection_max-PT06H": { - "description": "Maximum instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 6 hours.", - "dimensions": [], - "unit": "m/s", - "attrs": { - "height": "surface", - "1H_timesteps": "-", - "3H_timesteps": "-", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "snowfall_rate_from_convection_mean-PT01H": { - "description": "Mean rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous hour.", - "dimensions": [], - "unit": "m/s", - "attrs": { - "height": "surface", - "1H_timesteps": "T+1 to T+54", - "3H_timesteps": "-", - "6H_timesteps": "-", - "content_type": "application/netcdf" - } - }, - "snowfall_rate_from_convection_mean-PT03H": { - "description": "Mean rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 3 hours.", - "dimensions": [], - "unit": "m/s", - "attrs": { - "height": "surface", - "1H_timesteps": "-", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "-", - "content_type": "application/netcdf" - } - }, - "snowfall_rate_from_convection_mean-PT06H": { - "description": "Mean rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 6 hours.", - "dimensions": [], - "unit": "m/s", - "attrs": { - "height": "surface", - "1H_timesteps": "-", - "3H_timesteps": "-", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "temperature_at_screen_level": { - "description": "Instantaneous air temperature at screen level (1.5m).", - "dimensions": [], - "unit": "K", - "attrs": { - "height": "1.5m", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "temperature_at_screen_level_max-PT01H": { - "description": "Maximum instantaneous air temperature at screen level (1.5m) in the previous hour.", - "dimensions": [], - "unit": "K", - "attrs": { - "height": "1.5m", - "1H_timesteps": "T+1 to T+54", - "3H_timesteps": "-", - "6H_timesteps": "-", - "content_type": "application/netcdf" - } - }, - "temperature_at_screen_level_max-PT03H": { - "description": "Maximum instantaneous air temperature at screen level (1.5m) in the previous 3 hours.", - "dimensions": [], - "unit": "K", - "attrs": { - "height": "1.5m", - "1H_timesteps": "-", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "-", - "content_type": "application/netcdf" - } - }, - "temperature_at_screen_level_max-PT06H": { - "description": "Maximum instantaneous air temperature at screen level (1.5m) in the previous 6 hours.", - "dimensions": [], - "unit": "K", - "attrs": { - "height": "1.5m", - "1H_timesteps": "-", - "3H_timesteps": "-", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "temperature_at_screen_level_min-PT01H": { - "description": "Minimum instantaneous air temperature at screen level (1.5m) in the previous hour.", - "dimensions": [], - "unit": "K", - "attrs": { - "height": "1.5m", - "1H_timesteps": "T+1 to T+54", - "3H_timesteps": "-", - "6H_timesteps": "-", - "content_type": "application/netcdf" - } - }, - "temperature_at_screen_level_min-PT03H": { - "description": "Minimum instantaneous air temperature at screen level (1.5m) in the previous 3 hours.", - "dimensions": [], - "unit": "K", - "attrs": { - "height": "1.5m", - "1H_timesteps": "-", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "-", - "content_type": "application/netcdf" - } - }, - "temperature_at_screen_level_min-PT06H": { - "description": "Minimum instantaneous air temperature at screen level (1.5m) in the previous 6 hours.", - "dimensions": [], - "unit": "K", - "attrs": { - "height": "1.5m", - "1H_timesteps": "-", - "3H_timesteps": "-", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "temperature_at_surface": { - "description": "Temperature at the surface interface between the air and the ground.", - "dimensions": [], - "unit": "K", - "attrs": { - "height": "surface", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "temperature_of_dew_point_at_screen_level": { - "description": "Instantaneous dew point temperature (temperature at which a parcel of air reaches saturation upon being cooled at constant pressure and specific humidity) at screen level (1.5m).", - "dimensions": [], - "unit": "K", - "attrs": { - "height": "1.5m", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "visibility_at_screen_level": { - "description": "Horizontal distance at which something can be seen horizontally from screen level (1.5m).", - "dimensions": [], - "unit": "m", - "attrs": { - "height": "1.5m", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "wind_direction_at_10m": { - "description": "Wind at 10m above the surface is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. In meteorological reports the direction of the wind vector is given as the direction from which it is blowing. Note: This with wind speed at 10m replaces x wind at 10m and y wind at 10m.", - "dimensions": [], - "unit": "degrees", - "attrs": { - "height": "10.0m", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "wind_gust_at_10m": { - "description": "Diagnosed instantaneous wind gust at 10m. This can be considered as the extreme rather than steady wind speed that might be experienced at this specific time.", - "dimensions": [], - "unit": "m/s", - "attrs": { - "height": "10.0m", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "wind_gust_at_10m_max-PT01H": { - "description": "Maximum diagnosed instantaneous wind gust at 10m in the previous hour. This can be considered as the extreme wind speed that might be experienced in this period.", - "dimensions": [], - "unit": "m/s", - "attrs": { - "height": "10.0m", - "1H_timesteps": "T+1 to T+54", - "3H_timesteps": "-", - "6H_timesteps": "-", - "content_type": "application/netcdf" - } - }, - "wind_gust_at_10m_max-PT03H": { - "description": "Maximum diagnosed instantaneous wind gust at 10m in the previous 3 hours. This can be considered as the extreme wind speed that might be experienced in this period.", - "dimensions": [], - "unit": "m/s", - "attrs": { - "height": "10.0m", - "1H_timesteps": "-", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "-", - "content_type": "application/netcdf" - } - }, - "wind_gust_at_10m_max-PT06H": { - "description": "Maximum diagnosed instantaneous wind gust at 10m in the previous 6 hours. This can be considered as the extreme wind speed that might be experienced in this period.", - "dimensions": [], - "unit": "m/s", - "attrs": { - "height": "10.0m", - "1H_timesteps": "-", - "3H_timesteps": "-", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "wind_speed_at_10m": { - "description": "Wind at 10m above the surface is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. The speed is the magnitude of velocity.", - "dimensions": [], - "unit": "m/s", - "attrs": { - "height": "10.0m", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - } - }, - "stac_version": "1.0.0", - "msft:group_id": "metoffice", - "msft:container": "", - "stac_extensions": [ - "https://stac-extensions.github.io/forecast/v0.2.0/schema.json", - "https://stac-extensions.github.io/datacube/v2.0.0/schema.json" - ], - "msft:storage_account": "metofficeeuwest", - "msft:short_description": "Met Office Global Deterministic Near Surface Level", - "msft:region": "westeurope" -} \ No newline at end of file + "id": "met-office-global-deterministic-near-surface", + "type": "Collection", + "links": [ + { + "rel": "license", + "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", + "type": "text/html", + "title": "Creative Commons Attribution-ShareAlike 4.0" + }, + { + "rel": "describedby", + "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", + "title": "Met Office Dataset Documentation" + } + ], + "title": "Near-surface level collection Met Office global deterministic 10km forecast", + "assets": { + "thumbnail": { + "href": "https://ai4edatasetspublicassets.blob.core.windows.net/assets/pc_thumbnails/met-office-global-deterministic-near-surface.jpg", + "type": "image/png", + "roles": ["thumbnail"], + "title": "Near-surface level collection Met Office global deterministic 10km forecast thumbnail" + } + }, + "extent": { + "spatial": { + "bbox": [[-180, -90, 180, 90]] + }, + "temporal": { + "interval": [["2023-12-15T00:00:00Z", null]] + } + }, + "license": "proprietary", + "keywords": [ + "Met Office", + "Global", + "Forecast", + "Cloud", + "Fog", + "Heat Flux", + "Precipitation", + "Pressure", + "Radiation", + "Rainfall", + "Humidity", + "Snow", + "Temperature", + "Wind" + ], + "providers": [ + { + "url": "https://www.metoffice.gov.uk/", + "name": "Met Office", + "roles": ["producer", "licensor", "processor"] + }, + { + "url": "https://planetarycomputer.microsoft.com", + "name": "Microsoft", + "roles": ["host", "processor"] + } + ], + "cube:variables": { + "fog_fraction_at_screen_level": { + "description": "Here fog means a visibility of 1000 m or lower. The reduction in visibility is caused water droplets or minute ice crystals forming close to the surface. This quantity represents the fraction of horizontal grid square occupied by fog. An alternative interpretation is that this represents the fractional probability of fog being present at any location in the grid square.", + "dimensions": [], + "unit": "1", + "attrs": { + "height": "1.5m", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "height_of_orography": { + "description": "Altitude or (geometric) height above the geoid of the surface (ground). It is worth remembering that orographic height can be negative, particularly in some of the inland sea areas (e.g. Caspian Sea at -27m and Dead Sea at -430m)", + "dimensions": [], + "unit": "m", + "attrs": { + "height": "surface", + "1H_timesteps": "T+0 only", + "3H_timesteps": "-", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } + }, + "latent_heat_flux_at_surface_mean-PT01H": { + "description": "The latent heat flux, averaged over a model time step, at the surface.", + "dimensions": [], + "unit": "W/m2", + "attrs": { + "height": "surface", + "1H_timesteps": "T+1 to T+54", + "3H_timesteps": "-", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } + }, + "latent_heat_flux_at_surface_mean-PT03H": { + "description": "The latent heat flux, averaged over a model time step, at the surface.", + "dimensions": [], + "unit": "W/m2", + "attrs": { + "height": "surface", + "1H_timesteps": "-", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } + }, + "latent_heat_flux_at_surface_mean-PT06H": { + "description": "The latent heat flux, averaged over a model time step, at the surface.", + "dimensions": [], + "unit": "W/m2", + "attrs": { + "height": "surface", + "1H_timesteps": "-", + "3H_timesteps": "-", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "precipitation_accumulation-PT01H": { + "description": "Implied depth of the layer of liquid water which has been deposited on the surface in the previous hour. This includes rain, snow and hail, with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", + "dimensions": [], + "unit": "m", + "attrs": { + "height": "surface", + "1H_timesteps": "T+1 to T+48", + "3H_timesteps": "-", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } + }, + "precipitation_accumulation-PT03H": { + "description": "Implied depth of the layer of liquid water which has been deposited on the surface in the previous 3 hours. This includes rain, snow and hail, with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", + "dimensions": [], + "unit": "m", + "attrs": { + "height": "surface", + "1H_timesteps": "-", + "3H_timesteps": "T+51 to T+144", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } + }, + "precipitation_accumulation-PT06H": { + "description": "Implied depth of the layer of liquid water which has been deposited on the surface in the previous 6 hours. This includes rain, snow and hail, with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", + "dimensions": [], + "unit": "m", + "attrs": { + "height": "surface", + "1H_timesteps": "-", + "3H_timesteps": "-", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "precipitation_rate": { + "description": "Instantaneous rate at which liquid water (as a depth) was being deposited on the surface. This includes rain, snow and hail with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", + "dimensions": [], + "unit": "m/s", + "attrs": { + "height": "surface", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "pressure_at_mean_sea_level": { + "description": "Air pressure at mean sea level which is close to the geoid in sea areas. Air pressure at sea level is the quantity often abbreviated as MSLP or PMSL.", + "dimensions": [], + "unit": "Pa", + "attrs": { + "height": "surface", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "radiation_flux_in_longwave_downward_at_surface": { + "description": "Longwave radiation at the surface from above directed at the ground.", + "dimensions": [], + "unit": "W/m2", + "attrs": { + "height": "surface", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "radiation_flux_in_shortwave_direct_downward_at_surface": { + "description": "Direct component of shortwave radiation at the surface from above directed at the ground.", + "dimensions": [], + "unit": "W/m2", + "attrs": { + "height": "surface", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "radiation_flux_in_shortwave_total_downward_at_surface": { + "description": "Total shortwave radiation at the surface from above directed at the ground.", + "dimensions": [], + "unit": "W/m2", + "attrs": { + "height": "surface", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "radiation_flux_in_uv_downward_at_surface": { + "description": "Ultaviolet radiation at the surface from above directed at the ground.", + "dimensions": [], + "unit": "W/m2", + "attrs": { + "height": "surface", + "1H_timesteps": "-", + "3H_timesteps": "T+0 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "rainfall_accumulation-PT01H": { + "description": "Implied depth of the rain produced by the model precipitation scheme which has been deposited on the surface in the previous hour. This excludes the rain produced by the model convection scheme.", + "dimensions": [], + "unit": "m", + "attrs": { + "height": "surface", + "1H_timesteps": "T+1 to T+54", + "3H_timesteps": "-", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } + }, + "rainfall_accumulation-PT03H": { + "description": "Implied depth of the rain produced by the model precipitation scheme which has been deposited on the surface in the previous 3 hours. This excludes the rain produced by the model convection scheme.", + "dimensions": [], + "unit": "m", + "attrs": { + "height": "surface", + "1H_timesteps": "-", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } + }, + "rainfall_accumulation-PT06H": { + "description": "Implied depth of the rain produced by the model precipitation scheme which has been deposited on the surface in the previous 6 hours. This excludes the rain produced by the model convection scheme.", + "dimensions": [], + "unit": "m", + "attrs": { + "height": "surface", + "1H_timesteps": "-", + "3H_timesteps": "-", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "rainfall_rate": { + "description": "Instantaneous rate at which rain (as a depth) was being produced by the model precipitation scheme and deposited on the surface. This excludes the rain produced by the model convection scheme.", + "dimensions": [], + "unit": "m/s", + "attrs": { + "height": "surface", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "rainfall_rate_from_convection": { + "description": "Instantaneous rate at which rain (as a depth) was produced by the model convection scheme and deposited on the surface. The rainfall rate can be added to this to get the total rainfall rate.", + "dimensions": [], + "unit": "m/s", + "attrs": { + "height": "surface", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "rainfall_rate_from_convection_max-PT01H": { + "description": "Maximum instantaneous rate at which rain (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous hour.", + "dimensions": [], + "unit": "m/s", + "attrs": { + "height": "surface", + "1H_timesteps": "T+1 to T+54", + "3H_timesteps": "-", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } + }, + "rainfall_rate_from_convection_max-PT03H": { + "description": "Maximum instantaneous rate at which rain (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 3 hours.", + "dimensions": [], + "unit": "m/s", + "attrs": { + "height": "surface", + "1H_timesteps": "-", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } + }, + "rainfall_rate_from_convection_max-PT06H": { + "description": "Maximum instantaneous rate at which rain (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 6 hours.", + "dimensions": [], + "unit": "m/s", + "attrs": { + "height": "surface", + "1H_timesteps": "-", + "3H_timesteps": "-", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "relative_humidity_at_screen_level": { + "description": "Fractional relative humidity (ratio of the partial pressure of water vapour to the equilibrium vapour pressure of water) at screen level (1.5m above the surface.)", + "dimensions": [], + "unit": "1", + "attrs": { + "height": "1.5m", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "snow_depth_water_equivalent": { + "description": "Liquid water equivalent (LWE) depth of the snow lying on the surface (ground). Typically water is 10 times as dense as snow, so multiplying by 10 gives an approximate depth of the snow, although wet snow can be significantly denser and powder snow much less dense.", + "dimensions": [], + "unit": "m", + "attrs": { + "height": "surface", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "snowfall_rate": { + "description": "Instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) was produced by the model precipitation scheme and deposited on the surface. This excludes the snow produced by the the model convection scheme.", + "dimensions": [], + "unit": "m/s", + "attrs": { + "height": "surface", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "snowfall_rate_from_convection": { + "description": "Instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface. The snowfall rate can be added to this to get the total snowfall rate.", + "dimensions": [], + "unit": "m/s", + "attrs": { + "height": "surface", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "snowfall_rate_from_convection_max-PT01H": { + "description": "Maximum instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous hour.", + "dimensions": [], + "unit": "m/s", + "attrs": { + "height": "surface", + "1H_timesteps": "T+1 to T+54", + "3H_timesteps": "-", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } + }, + "snowfall_rate_from_convection_max-PT03H": { + "description": "Maximum instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 3 hours.", + "dimensions": [], + "unit": "m/s", + "attrs": { + "height": "surface", + "1H_timesteps": "-", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } + }, + "snowfall_rate_from_convection_max-PT06H": { + "description": "Maximum instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 6 hours.", + "dimensions": [], + "unit": "m/s", + "attrs": { + "height": "surface", + "1H_timesteps": "-", + "3H_timesteps": "-", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "snowfall_rate_from_convection_mean-PT01H": { + "description": "Mean rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous hour.", + "dimensions": [], + "unit": "m/s", + "attrs": { + "height": "surface", + "1H_timesteps": "T+1 to T+54", + "3H_timesteps": "-", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } + }, + "snowfall_rate_from_convection_mean-PT03H": { + "description": "Mean rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 3 hours.", + "dimensions": [], + "unit": "m/s", + "attrs": { + "height": "surface", + "1H_timesteps": "-", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } + }, + "snowfall_rate_from_convection_mean-PT06H": { + "description": "Mean rate at which liquid water equivalent (LWE) snow (as a depth) has been produced by the model convection scheme and deposited on the surface in the previous 6 hours.", + "dimensions": [], + "unit": "m/s", + "attrs": { + "height": "surface", + "1H_timesteps": "-", + "3H_timesteps": "-", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "temperature_at_screen_level": { + "description": "Instantaneous air temperature at screen level (1.5m).", + "dimensions": [], + "unit": "K", + "attrs": { + "height": "1.5m", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "temperature_at_screen_level_max-PT01H": { + "description": "Maximum instantaneous air temperature at screen level (1.5m) in the previous hour.", + "dimensions": [], + "unit": "K", + "attrs": { + "height": "1.5m", + "1H_timesteps": "T+1 to T+54", + "3H_timesteps": "-", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } + }, + "temperature_at_screen_level_max-PT03H": { + "description": "Maximum instantaneous air temperature at screen level (1.5m) in the previous 3 hours.", + "dimensions": [], + "unit": "K", + "attrs": { + "height": "1.5m", + "1H_timesteps": "-", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } + }, + "temperature_at_screen_level_max-PT06H": { + "description": "Maximum instantaneous air temperature at screen level (1.5m) in the previous 6 hours.", + "dimensions": [], + "unit": "K", + "attrs": { + "height": "1.5m", + "1H_timesteps": "-", + "3H_timesteps": "-", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "temperature_at_screen_level_min-PT01H": { + "description": "Minimum instantaneous air temperature at screen level (1.5m) in the previous hour.", + "dimensions": [], + "unit": "K", + "attrs": { + "height": "1.5m", + "1H_timesteps": "T+1 to T+54", + "3H_timesteps": "-", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } + }, + "temperature_at_screen_level_min-PT03H": { + "description": "Minimum instantaneous air temperature at screen level (1.5m) in the previous 3 hours.", + "dimensions": [], + "unit": "K", + "attrs": { + "height": "1.5m", + "1H_timesteps": "-", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } + }, + "temperature_at_screen_level_min-PT06H": { + "description": "Minimum instantaneous air temperature at screen level (1.5m) in the previous 6 hours.", + "dimensions": [], + "unit": "K", + "attrs": { + "height": "1.5m", + "1H_timesteps": "-", + "3H_timesteps": "-", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "temperature_at_surface": { + "description": "Temperature at the surface interface between the air and the ground.", + "dimensions": [], + "unit": "K", + "attrs": { + "height": "surface", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "temperature_of_dew_point_at_screen_level": { + "description": "Instantaneous dew point temperature (temperature at which a parcel of air reaches saturation upon being cooled at constant pressure and specific humidity) at screen level (1.5m).", + "dimensions": [], + "unit": "K", + "attrs": { + "height": "1.5m", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "visibility_at_screen_level": { + "description": "Horizontal distance at which something can be seen horizontally from screen level (1.5m).", + "dimensions": [], + "unit": "m", + "attrs": { + "height": "1.5m", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "wind_direction_at_10m": { + "description": "Wind at 10m above the surface is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. In meteorological reports the direction of the wind vector is given as the direction from which it is blowing. Note: This with wind speed at 10m replaces x wind at 10m and y wind at 10m.", + "dimensions": [], + "unit": "degrees", + "attrs": { + "height": "10.0m", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "wind_gust_at_10m": { + "description": "Diagnosed instantaneous wind gust at 10m. This can be considered as the extreme rather than steady wind speed that might be experienced at this specific time.", + "dimensions": [], + "unit": "m/s", + "attrs": { + "height": "10.0m", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "wind_gust_at_10m_max-PT01H": { + "description": "Maximum diagnosed instantaneous wind gust at 10m in the previous hour. This can be considered as the extreme wind speed that might be experienced in this period.", + "dimensions": [], + "unit": "m/s", + "attrs": { + "height": "10.0m", + "1H_timesteps": "T+1 to T+54", + "3H_timesteps": "-", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } + }, + "wind_gust_at_10m_max-PT03H": { + "description": "Maximum diagnosed instantaneous wind gust at 10m in the previous 3 hours. This can be considered as the extreme wind speed that might be experienced in this period.", + "dimensions": [], + "unit": "m/s", + "attrs": { + "height": "10.0m", + "1H_timesteps": "-", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "-", + "content_type": "application/netcdf" + } + }, + "wind_gust_at_10m_max-PT06H": { + "description": "Maximum diagnosed instantaneous wind gust at 10m in the previous 6 hours. This can be considered as the extreme wind speed that might be experienced in this period.", + "dimensions": [], + "unit": "m/s", + "attrs": { + "height": "10.0m", + "1H_timesteps": "-", + "3H_timesteps": "-", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "wind_speed_at_10m": { + "description": "Wind at 10m above the surface is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. The speed is the magnitude of velocity.", + "dimensions": [], + "unit": "m/s", + "attrs": { + "height": "10.0m", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + } + }, + "stac_version": "1.0.0", + "msft:group_id": "metoffice", + "msft:container": "", + "stac_extensions": [ + "https://stac-extensions.github.io/forecast/v0.2.0/schema.json", + "https://stac-extensions.github.io/datacube/v2.0.0/schema.json" + ], + "msft:storage_account": "metofficeeuwest", + "msft:short_description": "Met Office Global Deterministic Near Surface Level", + "msft:region": "westeurope" +} diff --git a/datasets/met-office/collection/met-office-global-deterministic-pressure/template.json b/datasets/met-office/collection/met-office-global-deterministic-pressure/template.json index f77d0ed6..909ec603 100644 --- a/datasets/met-office/collection/met-office-global-deterministic-pressure/template.json +++ b/datasets/met-office/collection/met-office-global-deterministic-pressure/template.json @@ -1,186 +1,158 @@ { - "id": "met-office-global-deterministic-pressure-level", - "type": "Collection", - "links": [ - { - "rel": "license", - "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", - "type": "text/html", - "title": "Creative Commons Attribution-ShareAlike 4.0" - }, - { - "rel": "cite-as", - "title": "British Crown copyright 2023-2025, the Met Office, is licensed under CC BY-SA" - }, - { - "rel": "describedBy", - "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", - "title": "Met Office Dataset Documentation" - } - ], - "title": "Met Office Global Deterministic Pressure Level", - "assets": { - "thumbnail": { - "href": "", - "type": "image/png", - "roles": [ - "thumbnail" - ], - "title": "Met Office Global Deterministic Pressure Level Thumbnail" - } + "id": "met-office-global-deterministic-pressure", + "type": "Collection", + "links": [ + { + "rel": "license", + "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", + "type": "text/html", + "title": "Creative Commons Attribution-ShareAlike 4.0" }, - "extent": { - "spatial": { - "bbox": [ - [ - -180, - -90, - 180, - 90 - ] - ] - }, - "temporal": { - "interval": [ - [ - "2023-12-15T00:00:00Z", - null - ] - ] - } + + { + "rel": "describedBy", + "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", + "title": "Met Office Dataset Documentation" + } + ], + "title": "Met Office Global Deterministic Pressure Level", + "assets": { + "thumbnail": { + "href": "https://ai4edatasetspublicassets.blob.core.windows.net/assets/pc_thumbnails/met-office-global-deterministic-pressure.jpg", + "type": "image/png", + "roles": ["thumbnail"], + "title": "Met Office Global Deterministic Pressure Level Thumbnail" + } + }, + "extent": { + "spatial": { + "bbox": [[-180, -90, 180, 90]] }, - "license": "proprietary", - "keywords": [ - "MetOffice", - "Global", - "Cloud" - ], - "providers": [ - { - "url": "https://www.metoffice.gov.uk/", - "name": "Met Office", - "roles": [ - "producer", - "licensor", - "processor" - ] - }, - { - "url": "https://planetarycomputer.microsoft.com", - "name": "Microsoft", - "roles": [ - "host", - "processor" - ] - } - ], - "description": "The Met Office Global Deterministic Pressure Level dataset provides a composite of weather parameters generated for specific atmospheric pressure levels.", - "cube:variables": { - "geopotential_height_on_pressure_levels": { - "description": "Geopotential height of the pressure levels. Note: from January 2026, this parameter will replace height_ASL_on_pressure_levels", - "dimensions": [], - "unit": "m", - "attrs": { - "pressure_levels": "All", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "height_ASL_on_pressure_levels": { - "description": "Height above sea level of the pressure levels. Note: from January 2026, this parameter will be replaced by geopotential_height_on_pressure_levels", - "dimensions": [], - "unit": "m", - "attrs": { - "pressure_levels": "All", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "relative_humidity_on_pressure_levels": { - "description": "Fractional relative humidity (ratio of the partial pressure of water vapour to the equilibrium vapour pressure of water) on pressure levels", - "dimensions": [], - "unit": "1", - "attrs": { - "pressure_levels": "All", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "temperature_on_pressure_levels": { - "description": "Air temperature on pressure levels", - "dimensions": [], - "unit": "K", - "attrs": { - "pressure_levels": "All", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "wet_bulb_potential_temperature_on_pressure_levels": { - "description": "Wet bulb potential temperature on pressure levels. Wet bulb potential temperature is defined as the temperature that a parcel of air would have if it were brought down to the standard pressure of 1000hPa following a saturated adiabatic lapse rate.", - "dimensions": [], - "unit": "K", - "attrs": { - "pressure_levels": "92500.0, 85000.0, 70000.0", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "wind_direction_on_pressure_levels": { - "description": "Wind direction on pressure levels is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. In meteorological reports the direction of the wind vector is given as the direction from which it is blowing.", - "dimensions": [], - "unit": "degrees", - "attrs": { - "pressure_levels": "All", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "wind_speed_on_pressure_levels": { - "description": "Wind speed on pressure levels is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. The speed is the magnitude of velocity.", - "dimensions": [], - "unit": "m/s", - "attrs": { - "pressure_levels": "All", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "wind_vertical_velocity_on_pressure_levels": { - "description": "Speed of the vertical component of the air motion at a pressure levels. Upwards is positive and downwards is negative.", - "dimensions": [], - "unit": "m/s", - "attrs": { - "pressure_levels": "70000.0", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - } + "temporal": { + "interval": [["2023-12-15T00:00:00Z", null]] + } + }, + "license": "proprietary", + "keywords": ["MetOffice", "Global", "Cloud"], + "providers": [ + { + "url": "https://www.metoffice.gov.uk/", + "name": "Met Office", + "roles": ["producer", "licensor", "processor"] }, - "stac_version": "1.0.0", - "msft:group_id": "metoffice", - "msft:container": "", - "stac_extensions": [ - "https://stac-extensions.github.io/forecast/v0.2.0/schema.json", - "https://stac-extensions.github.io/datacube/v2.0.0/schema.json" - ], - "msft:storage_account": "metofficeeuwest", - "msft:short_description": "Met Office Global Deterministic Pressure Level", - "msft:region": "westeurope" -} \ No newline at end of file + { + "url": "https://planetarycomputer.microsoft.com", + "name": "Microsoft", + "roles": ["host", "processor"] + } + ], + "description": "The Met Office Global Deterministic Pressure Level dataset provides a composite of weather parameters generated for specific atmospheric pressure levels.", + "cube:variables": { + "geopotential_height_on_pressure_levels": { + "description": "Geopotential height of the pressure levels. Note: from January 2026, this parameter will replace height_ASL_on_pressure_levels", + "dimensions": [], + "unit": "m", + "attrs": { + "pressure_levels": "All", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "height_ASL_on_pressure_levels": { + "description": "Height above sea level of the pressure levels. Note: from January 2026, this parameter will be replaced by geopotential_height_on_pressure_levels", + "dimensions": [], + "unit": "m", + "attrs": { + "pressure_levels": "All", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "relative_humidity_on_pressure_levels": { + "description": "Fractional relative humidity (ratio of the partial pressure of water vapour to the equilibrium vapour pressure of water) on pressure levels", + "dimensions": [], + "unit": "1", + "attrs": { + "pressure_levels": "All", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "temperature_on_pressure_levels": { + "description": "Air temperature on pressure levels", + "dimensions": [], + "unit": "K", + "attrs": { + "pressure_levels": "All", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "wet_bulb_potential_temperature_on_pressure_levels": { + "description": "Wet bulb potential temperature on pressure levels. Wet bulb potential temperature is defined as the temperature that a parcel of air would have if it were brought down to the standard pressure of 1000hPa following a saturated adiabatic lapse rate.", + "dimensions": [], + "unit": "K", + "attrs": { + "pressure_levels": "92500.0, 85000.0, 70000.0", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "wind_direction_on_pressure_levels": { + "description": "Wind direction on pressure levels is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. In meteorological reports the direction of the wind vector is given as the direction from which it is blowing.", + "dimensions": [], + "unit": "degrees", + "attrs": { + "pressure_levels": "All", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "wind_speed_on_pressure_levels": { + "description": "Wind speed on pressure levels is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. The speed is the magnitude of velocity.", + "dimensions": [], + "unit": "m/s", + "attrs": { + "pressure_levels": "All", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "wind_vertical_velocity_on_pressure_levels": { + "description": "Speed of the vertical component of the air motion at a pressure levels. Upwards is positive and downwards is negative.", + "dimensions": [], + "unit": "m/s", + "attrs": { + "pressure_levels": "70000.0", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + } + }, + "stac_version": "1.0.0", + "msft:group_id": "metoffice", + "msft:container": "", + "stac_extensions": [ + "https://stac-extensions.github.io/forecast/v0.2.0/schema.json", + "https://stac-extensions.github.io/datacube/v2.0.0/schema.json" + ], + "msft:storage_account": "metofficeeuwest", + "msft:short_description": "Met Office Global Deterministic Pressure Level", + "msft:region": "westeurope" +} diff --git a/datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere/template.json b/datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere/template.json index 96af004c..5b5adee3 100644 --- a/datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere/template.json +++ b/datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere/template.json @@ -1,244 +1,216 @@ { - "id": "met-office-global-deterministic-whole-atmosphere-level", - "type": "Collection", - "links": [ - { - "rel": "license", - "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", - "type": "text/html", - "title": "Creative Commons Attribution-ShareAlike 4.0" - }, - { - "rel": "cite-as", - "title": "British Crown copyright 2023-2025, the Met Office, is licensed under CC BY-SA" - }, - { - "rel": "describedBy", - "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", - "title": "Met Office Dataset Documentation" - } - ], - "title": "Met Office Global Deterministic Whole Atmosphere Level", - "assets": { - "thumbnail": { - "href": "", - "type": "image/png", - "roles": [ - "thumbnail" - ], - "title": "Met Office Global Deterministic Whole Atmosphere Level Thumbnail" - } - }, - "extent": { - "spatial": { - "bbox": [ - [ - -180, - -90, - 180, - 90 - ] - ] - }, - "temporal": { - "interval": [ - [ - "2023-12-15T00:00:00Z", - null - ] - ] - } - }, - "license": "proprietary", - "keywords": [ - "MetOffice", - "Global", - "Cloud" - ], - "providers": [ - { - "url": "https://www.metoffice.gov.uk/", - "name": "Met Office", - "roles": [ - "producer", - "licensor", - "processor" - ] - }, - { - "url": "https://planetarycomputer.microsoft.com", - "name": "Microsoft", - "roles": [ - "host", - "processor" - ] - } - ], - "description": "The Met Office Global Deterministic Whole Atmosphere Level dataset provides a composite of weather parameters generated throughout the atmospheric column.", - "cube:variables": { - "CAPE_mixed_layer_lowest_500m": { - "description": "CAPE (Convective Available Potential Energy) calculated for a mixed layer parcel where a mixed layer parcel is defined as a parcel with thermodynamic properties of the density-weighted mean of the lowest 500 m above ground level.", - "dimensions": [], - "unit": "J/kg", - "attrs": { - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "CAPE_most_unstable_below_500hPa": { - "description": "CAPE (Convective Available Potential Energy) calculated for the most unstable parcel where the most unstable parcel is defined as the parcel with the highest fixed level CAPE launched from any level (including screen-level=1.5m) within 500hPa of the surface pressure.", - "dimensions": [], - "unit": "J/kg", - "attrs": { - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "CAPE_surface": { - "description": "Value of CAPE (Convective Available Potential Energy) calculated for a surface based parcel where a surface based parcel is defined as a parcel initiated with thermodynamic properties at screen level height (1.5m) i.e. the parcel is launched from screen level.", - "dimensions": [], - "unit": "J/kg", - "attrs": { - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "CIN_mixed_layer_lowest_500m": { - "description": "Convective Inhibition calculated as the additional energy required to lift a mixed-layer parcel to its level of free convection. Where a mixed layer parcel is defined as parcel with thermodynamic properties of the density weighted mean of the lowest 500 m above ground level (AGL).", - "dimensions": [], - "unit": "J/kg", - "attrs": { - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "CIN_most_unstable_below_500hPa": { - "description": "Convective Inhibition calculated as the additional energy required to lift the most unstable parcel to its level of free convection. Where most unstable parcel is defined as the parcel with the highest fixed-level CAPE launched from any level (including screen-level) within 500 hPa of the surface pressure.", - "dimensions": [], - "unit": "J/kg", - "attrs": { - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "CIN_surface": { - "description": "Convective Inhibition calculated as the additional energy required to lift a surface based parcel (i.e. a parcel launched from screen-level (1.5m)) to its level of free convection.", - "dimensions": [], - "unit": "J/kg", - "attrs": { - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "cloud_amount_below_1000ft_ASL": { - "description": "Fraction of horizontal grid square occupied by cloud below 1000 feet above sea level.", - "dimensions": [], - "unit": "1", - "attrs": { - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "cloud_amount_of_high_cloud": { - "description": "Fraction of horizontal grid square occupied by cloud in the high-level cloud height range (from the lowest model layer containing the 5574m height level up to but excluding the lowest model layer containing 13608m height level).", - "dimensions": [], - "unit": "1", - "attrs": { - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "cloud_amount_of_low_cloud": { - "description": "Fraction of horizontal grid square occupied by cloud in the low-level cloud height range (from the lowest model layer containing the 111m height level up to but excluding the lowest model layer containing 1949m height level).", - "dimensions": [], - "unit": "1", - "attrs": { - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "cloud_amount_of_medium_cloud": { - "description": "Fraction of horizontal grid square occupied by cloud in the mid-level cloud height range (from the lowest model layer containing the 1949m height level up to but excluding the lowest model layer containing 5574m height level).", - "dimensions": [], - "unit": "1", - "attrs": { - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "cloud_amount_of_total_cloud": { - "description": "Fraction of horizontal grid square occupied by cloud as diagnosed by the model cloud scheme. This is for the whole atmosphere column as seen from the surface or the top of the atmosphere.", - "dimensions": [], - "unit": "1", - "attrs": { - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "cloud_amount_of_total_convective_cloud": { - "description": "Fraction of horizontal grid square occupied by convective cloud as diagnosed by the model convection scheme. This is for the whole atmosphere column as seen from the surface or the top of the atmosphere.", - "dimensions": [], - "unit": "1", - "attrs": { - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "pressure_at_tropopause": { - "description": "Air pressure at the tropopause.", - "dimensions": [], - "unit": "Pa", - "attrs": { - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - }, - "temperature_at_tropopause": { - "description": "Air temperature at the tropopause.", - "dimensions": [], - "unit": "K", - "attrs": { - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+144", - "6H_timesteps": "T+150 to T+168", - "content_type": "application/netcdf" - } - } - }, - "stac_version": "1.0.0", - "msft:group_id": "metoffice", - "msft:container": "", - "stac_extensions": [ - "https://stac-extensions.github.io/forecast/v0.2.0/schema.json", - "https://stac-extensions.github.io/datacube/v2.0.0/schema.json" - ], - "msft:storage_account": "metofficeeuwest", - "msft:short_description": "Met Office Global Deterministic Whole Atmosphere Level", - "msft:region": "westeurope" -} \ No newline at end of file + "id": "met-office-global-deterministic-whole-atmosphere", + "type": "Collection", + "links": [ + { + "rel": "license", + "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", + "type": "text/html", + "title": "Creative Commons Attribution-ShareAlike 4.0" + }, + + { + "rel": "describedBy", + "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", + "title": "Met Office Dataset Documentation" + } + ], + "title": "Met Office Global Deterministic Whole Atmosphere Level", + "assets": { + "thumbnail": { + "href": "https://ai4edatasetspublicassets.blob.core.windows.net/assets/pc_thumbnails/met-office-global-deterministic-whole-atmosphere.jpg", + "type": "image/png", + "roles": ["thumbnail"], + "title": "Met Office Global Deterministic Whole Atmosphere Level Thumbnail" + } + }, + "extent": { + "spatial": { + "bbox": [[-180, -90, 180, 90]] + }, + "temporal": { + "interval": [["2023-12-15T00:00:00Z", null]] + } + }, + "license": "proprietary", + "keywords": ["MetOffice", "Global", "Cloud"], + "providers": [ + { + "url": "https://www.metoffice.gov.uk/", + "name": "Met Office", + "roles": ["producer", "licensor", "processor"] + }, + { + "url": "https://planetarycomputer.microsoft.com", + "name": "Microsoft", + "roles": ["host", "processor"] + } + ], + "description": "The Met Office Global Deterministic Whole Atmosphere Level dataset provides a composite of weather parameters generated throughout the atmospheric column.", + "cube:variables": { + "CAPE_mixed_layer_lowest_500m": { + "description": "CAPE (Convective Available Potential Energy) calculated for a mixed layer parcel where a mixed layer parcel is defined as a parcel with thermodynamic properties of the density-weighted mean of the lowest 500 m above ground level.", + "dimensions": [], + "unit": "J/kg", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "CAPE_most_unstable_below_500hPa": { + "description": "CAPE (Convective Available Potential Energy) calculated for the most unstable parcel where the most unstable parcel is defined as the parcel with the highest fixed level CAPE launched from any level (including screen-level=1.5m) within 500hPa of the surface pressure.", + "dimensions": [], + "unit": "J/kg", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "CAPE_surface": { + "description": "Value of CAPE (Convective Available Potential Energy) calculated for a surface based parcel where a surface based parcel is defined as a parcel initiated with thermodynamic properties at screen level height (1.5m) i.e. the parcel is launched from screen level.", + "dimensions": [], + "unit": "J/kg", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "CIN_mixed_layer_lowest_500m": { + "description": "Convective Inhibition calculated as the additional energy required to lift a mixed-layer parcel to its level of free convection. Where a mixed layer parcel is defined as parcel with thermodynamic properties of the density weighted mean of the lowest 500 m above ground level (AGL).", + "dimensions": [], + "unit": "J/kg", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "CIN_most_unstable_below_500hPa": { + "description": "Convective Inhibition calculated as the additional energy required to lift the most unstable parcel to its level of free convection. Where most unstable parcel is defined as the parcel with the highest fixed-level CAPE launched from any level (including screen-level) within 500 hPa of the surface pressure.", + "dimensions": [], + "unit": "J/kg", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "CIN_surface": { + "description": "Convective Inhibition calculated as the additional energy required to lift a surface based parcel (i.e. a parcel launched from screen-level (1.5m)) to its level of free convection.", + "dimensions": [], + "unit": "J/kg", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "cloud_amount_below_1000ft_ASL": { + "description": "Fraction of horizontal grid square occupied by cloud below 1000 feet above sea level.", + "dimensions": [], + "unit": "1", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "cloud_amount_of_high_cloud": { + "description": "Fraction of horizontal grid square occupied by cloud in the high-level cloud height range (from the lowest model layer containing the 5574m height level up to but excluding the lowest model layer containing 13608m height level).", + "dimensions": [], + "unit": "1", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "cloud_amount_of_low_cloud": { + "description": "Fraction of horizontal grid square occupied by cloud in the low-level cloud height range (from the lowest model layer containing the 111m height level up to but excluding the lowest model layer containing 1949m height level).", + "dimensions": [], + "unit": "1", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "cloud_amount_of_medium_cloud": { + "description": "Fraction of horizontal grid square occupied by cloud in the mid-level cloud height range (from the lowest model layer containing the 1949m height level up to but excluding the lowest model layer containing 5574m height level).", + "dimensions": [], + "unit": "1", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "cloud_amount_of_total_cloud": { + "description": "Fraction of horizontal grid square occupied by cloud as diagnosed by the model cloud scheme. This is for the whole atmosphere column as seen from the surface or the top of the atmosphere.", + "dimensions": [], + "unit": "1", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "cloud_amount_of_total_convective_cloud": { + "description": "Fraction of horizontal grid square occupied by convective cloud as diagnosed by the model convection scheme. This is for the whole atmosphere column as seen from the surface or the top of the atmosphere.", + "dimensions": [], + "unit": "1", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "pressure_at_tropopause": { + "description": "Air pressure at the tropopause.", + "dimensions": [], + "unit": "Pa", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + }, + "temperature_at_tropopause": { + "description": "Air temperature at the tropopause.", + "dimensions": [], + "unit": "K", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+144", + "6H_timesteps": "T+150 to T+168", + "content_type": "application/netcdf" + } + } + }, + "stac_version": "1.0.0", + "msft:group_id": "metoffice", + "msft:container": "", + "stac_extensions": [ + "https://stac-extensions.github.io/forecast/v0.2.0/schema.json", + "https://stac-extensions.github.io/datacube/v2.0.0/schema.json" + ], + "msft:storage_account": "metofficeeuwest", + "msft:short_description": "Met Office Global Deterministic Whole Atmosphere Level", + "msft:region": "westeurope" +} diff --git a/datasets/met-office/collection/met-office-uk-deterministic-height/template.json b/datasets/met-office/collection/met-office-uk-deterministic-height/template.json index e26e3200..69276115 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-height/template.json +++ b/datasets/met-office/collection/met-office-uk-deterministic-height/template.json @@ -1,130 +1,109 @@ { - "id": "met-office-uk-deterministic-height-level", - "type": "Collection", - "links": [ - { - "rel": "license", - "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", - "type": "text/html", - "title": "Creative Commons Attribution-ShareAlike 4.0" - }, - { - "rel": "describedby", - "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", - "title": "Met Office Dataset Documentation" - } - ], - "title": "Height levels collection Met Office UKV 2km deterministic forecast", - "assets": { - "thumbnail": { - "href": "", - "type": "image/png", - "roles": [ - "thumbnail" - ], - "title": "Height levels collection Met Office UKV 2km deterministic forecast thumbnail" - } + "id": "met-office-uk-deterministic-height", + "type": "Collection", + "links": [ + { + "rel": "license", + "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", + "type": "text/html", + "title": "Creative Commons Attribution-ShareAlike 4.0" }, - "extent": { - "spatial": { - "bbox": [ - [ - 15, - 50, - 5, - 62 - ] - ] - }, - "temporal": { - "interval": [ - [ - "2023-12-15T00:00:00Z", - null - ] - ] - } + { + "rel": "describedby", + "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", + "title": "Met Office Dataset Documentation" + } + ], + "title": "Height levels collection Met Office UKV 2km deterministic forecast", + "assets": { + "thumbnail": { + "href": "https://ai4edatasetspublicassets.blob.core.windows.net/assets/pc_thumbnails/met-office-uk-deterministic-height.jpg", + "type": "image/png", + "roles": ["thumbnail"], + "title": "Height levels collection Met Office UKV 2km deterministic forecast thumbnail" + } + }, + "extent": { + "spatial": { + "bbox": [[15, 50, 5, 62]] }, - "license": "proprietary", - "keywords": [ - "Met Office", - "Weather", - "Forecast", - "UK", - "Cloud", - "Temperature", - "Wind", - "Height" - ], - "providers": [ - { - "url": "https://www.metoffice.gov.uk/", - "name": "Met Office", - "roles": [ - "producer", - "licensor", - "processor" - ] - }, - { - "url": "https://planetarycomputer.microsoft.com", - "name": "Microsoft", - "roles": [ - "host", - "processor" - ] - } - ], - "cube:variables": { - "cloud_amount_on_height_levels": { - "description": "Fraction of horizontal grid square occupied by cloud in layers centred on height levels.", - "dimensions": [], - "unit": "1", - "attrs": { - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "temperature_on_height_levels": { - "description": "Air temperature on height levels.", - "dimensions": [], - "unit": "K", - "attrs": { - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "wind_direction_on_height_levels": { - "description": "Wind direction on height levels is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. In meteorological reports the direction of the wind vector is given as the direction from which it is blowing.", - "dimensions": [], - "unit": "degrees", - "attrs": { - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "wind_speed_on_height_levels": { - "description": "Wind speed on height levels is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. The speed is the magnitude of velocity.", - "dimensions": [], - "unit": "m/s", - "attrs": { - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - } + "temporal": { + "interval": [["2023-12-15T00:00:00Z", null]] + } + }, + "license": "proprietary", + "keywords": [ + "Met Office", + "Weather", + "Forecast", + "UK", + "Cloud", + "Temperature", + "Wind", + "Height" + ], + "providers": [ + { + "url": "https://www.metoffice.gov.uk/", + "name": "Met Office", + "roles": ["producer", "licensor", "processor"] }, - "stac_version": "1.0.0", - "msft:group_id": "metoffice", - "msft:container": "", - "stac_extensions": [ - "https://stac-extensions.github.io/forecast/v0.2.0/schema.json", - "https://stac-extensions.github.io/datacube/v2.0.0/schema.json" - ], - "msft:storage_account": "metofficeeuwest", - "msft:short_description": "Met Office UK Deterministic Height Level", - "msft:region": "westeurope" -} \ No newline at end of file + { + "url": "https://planetarycomputer.microsoft.com", + "name": "Microsoft", + "roles": ["host", "processor"] + } + ], + "cube:variables": { + "cloud_amount_on_height_levels": { + "description": "Fraction of horizontal grid square occupied by cloud in layers centred on height levels.", + "dimensions": [], + "unit": "1", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "temperature_on_height_levels": { + "description": "Air temperature on height levels.", + "dimensions": [], + "unit": "K", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "wind_direction_on_height_levels": { + "description": "Wind direction on height levels is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. In meteorological reports the direction of the wind vector is given as the direction from which it is blowing.", + "dimensions": [], + "unit": "degrees", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "wind_speed_on_height_levels": { + "description": "Wind speed on height levels is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. The speed is the magnitude of velocity.", + "dimensions": [], + "unit": "m/s", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + } + }, + "stac_version": "1.0.0", + "msft:group_id": "metoffice", + "msft:container": "", + "stac_extensions": [ + "https://stac-extensions.github.io/forecast/v0.2.0/schema.json", + "https://stac-extensions.github.io/datacube/v2.0.0/schema.json" + ], + "msft:storage_account": "metofficeeuwest", + "msft:short_description": "Met Office UK Deterministic Height Level", + "msft:region": "westeurope" +} diff --git a/datasets/met-office/collection/met-office-uk-deterministic-near-surface/template.json b/datasets/met-office/collection/met-office-uk-deterministic-near-surface/template.json index b835a7d5..063a8e74 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-near-surface/template.json +++ b/datasets/met-office/collection/met-office-uk-deterministic-near-surface/template.json @@ -1,511 +1,490 @@ { - "id": "met-office-uk-deterministic-near-surface-level", - "type": "Collection", - "links": [ - { - "rel": "license", - "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", - "type": "text/html", - "title": "Creative Commons Attribution-ShareAlike 4.0" - }, - { - "rel": "describedby", - "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", - "title": "Met Office Dataset Documentation" - } - ], - "title": "Near-surface level collection Met Office UKV 2km deterministic forecast", - "assets": { - "thumbnail": { - "href": "", - "type": "image/png", - "roles": [ - "thumbnail" - ], - "title": "Near-surface level collection Met Office UKV 2km deterministic forecast Thumbnail" - } - }, - "extent": { - "spatial": { - "bbox": [ - [ - 15, - 50, - 5, - 62 - ] - ] - }, - "temporal": { - "interval": [ - [ - "2023-12-15T00:00:00Z", - null - ] - ] - } - }, - "license": "proprietary", - "keywords": [ - "Met Office", - "Weather", - "Forecast", - "UK", - "Precipitation", - "Temperature", - "Wind", - "Pressure", - "Humidity" - ], - "providers": [ - { - "url": "https://www.metoffice.gov.uk/", - "name": "Met Office", - "roles": [ - "producer", - "licensor", - "processor" - ] - }, - { - "url": "https://planetarycomputer.microsoft.com", - "name": "Microsoft", - "roles": [ - "host", - "processor" - ] - } - ], - "cube:variables": { - "fog_fraction_at_screen_level": { - "description": "Here fog means a visibility of 1000 m or lower. The reduction in visibility is caused by water droplets or minute ice crystals forming close to the surface. This quantity represents the fraction of horizontal grid square occupied by fog. An alternative interpretation is that this represents the fractional probability of fog being present at any location in the grid square.", - "dimensions": [], - "unit": "1", - "attrs": { - "height": "1.5m", - "15M_timesteps": "-", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "hail_fall_accumulation-PT01H": { - "description": "Implied depth of the layer of liquid water equivalent (LWE) hail produced by the model precipitation scheme and deposited on the surface in the previous hour.", - "dimensions": [], - "unit": "m", - "attrs": { - "height": "surface", - "15M_timesteps": "-", - "1H_timesteps": "T+1 to T+54", - "3H_timesteps": "-", - "content_type": "application/netcdf" - } - }, - "hail_fall_rate": { - "description": "Instantaneous rate at which liquid water equivalent (LWE) hail (as a depth) has been produced by the model precipitation scheme and deposited on the surface.", - "dimensions": [], - "unit": "m/s", - "attrs": { - "height": "surface", - "15M_timesteps": "T+0 to T+54", - "1H_timesteps": "-", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "height_of_orography": { - "description": "Altitude or (geometric) height above the geoid of the surface (ground). It is worth remembering that orographic height can be negative, particularly in some of the inland sea areas (e.g. Caspian Sea at -27m and Dead Sea at -430m).", - "dimensions": [], - "unit": "m", - "attrs": { - "height": "surface", - "15M_timesteps": "-", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "landsea_mask": { - "description": "Binary indicator of whether a point is considered land (value = 1) or sea (value = 0). This is useful to identify the coastline and characterise points for correct interpretation of forecast data by users.", - "dimensions": [], - "unit": "1", - "attrs": { - "height": "surface", - "15M_timesteps": "-", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "precipitation_accumulation-PT01H": { - "description": "Implied depth of the layer of liquid water which has been deposited on the surface in the previous hour. This includes rain, snow and hail, with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", - "dimensions": [], - "unit": "m", - "attrs": { - "height": "surface", - "15M_timesteps": "-", - "1H_timesteps": "T+1 to T+54", - "3H_timesteps": "-", - "content_type": "application/netcdf" - } - }, - "precipitation_accumulation-PT03H": { - "description": "Implied depth of the layer of liquid water which has been deposited on the surface in the previous 3 hours. This includes rain, snow and hail, with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", - "dimensions": [], - "unit": "m", - "attrs": { - "height": "surface", - "15M_timesteps": "-", - "1H_timesteps": "-", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "precipitation_rate": { - "description": "Instantaneous rate at which liquid water (as a depth) was being deposited on the surface. This includes rain, snow and hail with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", - "dimensions": [], - "unit": "m/s", - "attrs": { - "height": "surface", - "15M_timesteps": "T+0 to T+54", - "1H_timesteps": "-", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "pressure_at_mean_sea_level": { - "description": "Air pressure at mean sea level which is close to the geoid in sea areas. Air pressure at sea level is the quantity often abbreviated as MSLP or PMSL.", - "dimensions": [], - "unit": "Pa", - "attrs": { - "height": "surface", - "15M_timesteps": "-", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "pressure_at_surface": { - "description": "Air pressure at the surface (lower boundary of the atmosphere).", - "dimensions": [], - "unit": "Pa", - "attrs": { - "height": "surface", - "15M_timesteps": "-", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "radiation_flux_in_longwave_downward_at_surface": { - "description": "Longwave radiation at the surface from above directed at the ground.", - "dimensions": [], - "unit": "W/m2", - "attrs": { - "height": "surface", - "15M_timesteps": "-", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "radiation_flux_in_shortwave_diffuse_downward_at_surface": { - "description": "Diffuse component of shortwave radiation at the surface from above directed at the ground.", - "dimensions": [], - "unit": "W/m2", - "attrs": { - "height": "surface", - "15M_timesteps": "-", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "radiation_flux_in_shortwave_direct_downward_at_surface": { - "description": "Direct component of shortwave radiation at the surface from above directed at the ground.", - "dimensions": [], - "unit": "W/m2", - "attrs": { - "height": "surface", - "15M_timesteps": "-", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "radiation_flux_in_shortwave_total_downward_at_surface": { - "description": "Total shortwave radiation at the surface from above directed at the ground.", - "dimensions": [], - "unit": "W/m2", - "attrs": { - "height": "surface", - "15M_timesteps": "-", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "radiation_flux_in_uv_downward_at_surface": { - "description": "Ultraviolet radiation at the surface from above directed at the ground.", - "dimensions": [], - "unit": "W/m2", - "attrs": { - "height": "surface", - "15M_timesteps": "-", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "rainfall_accumulation-PT01H": { - "description": "Implied depth of the rain produced by the model precipitation scheme which has been deposited on the surface in the previous hour. This excludes the rain produced by the model convection scheme.", - "dimensions": [], - "unit": "m", - "attrs": { - "height": "surface", - "15M_timesteps": "-", - "1H_timesteps": "T+1 to T+54", - "3H_timesteps": "-", - "content_type": "application/netcdf" - } - }, - "rainfall_accumulation-PT03H": { - "description": "Implied depth of the rain produced by the model precipitation scheme which has been deposited on the surface in the previous 3 hours. This excludes the rain produced by the model convection scheme.", - "dimensions": [], - "unit": "m", - "attrs": { - "height": "surface", - "15M_timesteps": "-", - "1H_timesteps": "-", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "rainfall_rate": { - "description": "Instantaneous rate at which rain (as a depth) was being produced by the model precipitation scheme and deposited on the surface. This excludes the rain produced by the model convection scheme.", - "dimensions": [], - "unit": "m/s", - "attrs": { - "height": "surface", - "15M_timesteps": "T+0 to T+54", - "1H_timesteps": "-", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "relative_humidity_at_screen_level": { - "description": "Fractional relative humidity (ratio of the partial pressure of water vapour to the equilibrium vapour pressure of water) at screen level (1.5m above the surface.)", - "dimensions": [], - "unit": "1", - "attrs": { - "height": "1.5m", - "15M_timesteps": "-", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "sensible_heat_flux_at_surface": { - "description": "Exchange of heat between the surface and the air by motion of air, also called turbulent heat flux.", - "dimensions": [], - "unit": "W/m2", - "attrs": { - "height": "surface", - "15M_timesteps": "-", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "snow_depth_water_equivalent": { - "description": "Liquid water equivalent (LWE) depth of the snow lying on the surface (ground). Typically water is 10 times as dense as snow, so multiplying by 10 gives an approximate depth of the snow, although wet snow can be significantly denser and powder snow much less dense.", - "dimensions": [], - "unit": "m", - "attrs": { - "height": "surface", - "15M_timesteps": "-", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "snowfall_accumulation-PT01H": { - "description": "Implied depth of the (LWE) snow (as a depth) produced by the model precipitation scheme and deposited on the surface in the previous hour. This excludes the snow produced by the model convection scheme.", - "dimensions": [], - "unit": "m", - "attrs": { - "height": "surface", - "15M_timesteps": "-", - "1H_timesteps": "T+1 to T+54", - "3H_timesteps": "-", - "content_type": "application/netcdf" - } - }, - "snowfall_accumulation-PT03H": { - "description": "Implied depth of the (LWE) snow (as a depth) produced by the model precipitation scheme and deposited on the surface in the previous 3 hours. This excludes the snow produced by the model convection scheme.", - "dimensions": [], - "unit": "m", - "attrs": { - "height": "surface", - "15M_timesteps": "-", - "1H_timesteps": "-", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "snowfall_rate": { - "description": "Instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) was produced by the model precipitation scheme and deposited on the surface. This excludes the snow produced by the model convection scheme.", - "dimensions": [], - "unit": "m/s", - "attrs": { - "height": "surface", - "15M_timesteps": "T+0 to T+54", - "1H_timesteps": "-", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "temperature_at_screen_level": { - "description": "Instantaneous air temperature at screen level (1.5m).", - "dimensions": [], - "unit": "K", - "attrs": { - "height": "1.5m", - "15M_timesteps": "-", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "temperature_at_screen_level_max-PT01H": { - "description": "Maximum instantaneous air temperature at screen level (1.5m) in the previous hour.", - "dimensions": [], - "unit": "K", - "attrs": { - "height": "1.5m", - "15M_timesteps": "-", - "1H_timesteps": "T+1 to T+120", - "3H_timesteps": "-", - "content_type": "application/netcdf" - } - }, - "temperature_at_screen_level_min-PT01H": { - "description": "Minimum instantaneous air temperature at screen level (1.5m) in the previous hour.", - "dimensions": [], - "unit": "K", - "attrs": { - "height": "1.5m", - "15M_timesteps": "-", - "1H_timesteps": "T+1 to T+120", - "3H_timesteps": "-", - "content_type": "application/netcdf" - } - }, - "temperature_at_surface": { - "description": "Temperature at the surface interface between the air and the ground.", - "dimensions": [], - "unit": "K", - "attrs": { - "height": "surface", - "15M_timesteps": "-", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "temperature_of_dew_point_at_screen_level": { - "description": "Instantaneous dew point temperature (temperature at which a parcel of air reaches saturation upon being cooled at constant pressure and specific humidity) at screen level (1.5m).", - "dimensions": [], - "unit": "K", - "attrs": { - "height": "1.5m", - "15M_timesteps": "-", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "visibility_at_screen_level": { - "description": "Horizontal distance at which something can be seen horizontally from screen level (1.5m).", - "dimensions": [], - "unit": "m", - "attrs": { - "height": "1.5m", - "15M_timesteps": "-", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "wind_direction_at_10m": { - "description": "Wind at 10m above the surface is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. In meteorological reports the direction of the wind vector is given as the direction from which it is blowing. Note: This with wind speed at 10m replaces x wind at 10m and y wind at 10m.", - "dimensions": [], - "unit": "degrees", - "attrs": { - "height": "10.0m", - "15M_timesteps": "-", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "wind_gust_at_10m": { - "description": "Diagnosed instantaneous wind gust at 10m. This can be considered as the extreme rather than steady wind speed that might be experienced at this specific time.", - "dimensions": [], - "unit": "m/s", - "attrs": { - "height": "10.0m", - "15M_timesteps": "-", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "wind_gust_at_10m_max-PT01H": { - "description": "Maximum diagnosed instantaneous wind gust at 10m in the previous hour. This can be considered as the extreme wind speed that might be experienced in this period.", - "dimensions": [], - "unit": "m/s", - "attrs": { - "height": "10.0m", - "15M_timesteps": "-", - "1H_timesteps": "T+1 to T+54", - "3H_timesteps": "-", - "content_type": "application/netcdf" - } - }, - "wind_gust_at_10m_max-PT03H": { - "description": "Maximum diagnosed instantaneous wind gust at 10m in the previous 3 hours. This can be considered as the extreme wind speed that might be experienced in this period.", - "dimensions": [], - "unit": "m/s", - "attrs": { - "height": "10.0m", - "15M_timesteps": "-", - "1H_timesteps": "-", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "wind_speed_at_10m": { - "description": "Wind at 10m above the surface is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. The speed is the magnitude of velocity.", - "dimensions": [], - "unit": "m/s", - "attrs": { - "height": "10.0m", - "15M_timesteps": "-", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - } - }, - "stac_version": "1.0.0", - "msft:group_id": "metoffice", - "msft:container": "", - "stac_extensions": [ - "https://stac-extensions.github.io/forecast/v0.2.0/schema.json", - "https://stac-extensions.github.io/datacube/v2.0.0/schema.json" - ], - "msft:storage_account": "metofficeeuwest", - "msft:short_description": "Met Office UK Deterministic Near Surface Level", - "msft:region": "westeurope" -} \ No newline at end of file + "id": "met-office-uk-deterministic-near-surface", + "type": "Collection", + "links": [ + { + "rel": "license", + "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", + "type": "text/html", + "title": "Creative Commons Attribution-ShareAlike 4.0" + }, + { + "rel": "describedby", + "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", + "title": "Met Office Dataset Documentation" + } + ], + "title": "Near-surface level collection Met Office UKV 2km deterministic forecast", + "assets": { + "thumbnail": { + "href": "https://ai4edatasetspublicassets.blob.core.windows.net/assets/pc_thumbnails/met-office-uk-deterministic-near-surface.jpg", + "type": "image/png", + "roles": ["thumbnail"], + "title": "Near-surface level collection Met Office UKV 2km deterministic forecast Thumbnail" + } + }, + "extent": { + "spatial": { + "bbox": [[15, 50, 5, 62]] + }, + "temporal": { + "interval": [["2023-12-15T00:00:00Z", null]] + } + }, + "license": "proprietary", + "keywords": [ + "Met Office", + "Weather", + "Forecast", + "UK", + "Precipitation", + "Temperature", + "Wind", + "Pressure", + "Humidity" + ], + "providers": [ + { + "url": "https://www.metoffice.gov.uk/", + "name": "Met Office", + "roles": ["producer", "licensor", "processor"] + }, + { + "url": "https://planetarycomputer.microsoft.com", + "name": "Microsoft", + "roles": ["host", "processor"] + } + ], + "cube:variables": { + "fog_fraction_at_screen_level": { + "description": "Here fog means a visibility of 1000 m or lower. The reduction in visibility is caused by water droplets or minute ice crystals forming close to the surface. This quantity represents the fraction of horizontal grid square occupied by fog. An alternative interpretation is that this represents the fractional probability of fog being present at any location in the grid square.", + "dimensions": [], + "unit": "1", + "attrs": { + "height": "1.5m", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "hail_fall_accumulation-PT01H": { + "description": "Implied depth of the layer of liquid water equivalent (LWE) hail produced by the model precipitation scheme and deposited on the surface in the previous hour.", + "dimensions": [], + "unit": "m", + "attrs": { + "height": "surface", + "15M_timesteps": "-", + "1H_timesteps": "T+1 to T+54", + "3H_timesteps": "-", + "content_type": "application/netcdf" + } + }, + "hail_fall_rate": { + "description": "Instantaneous rate at which liquid water equivalent (LWE) hail (as a depth) has been produced by the model precipitation scheme and deposited on the surface.", + "dimensions": [], + "unit": "m/s", + "attrs": { + "height": "surface", + "15M_timesteps": "T+0 to T+54", + "1H_timesteps": "-", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "height_of_orography": { + "description": "Altitude or (geometric) height above the geoid of the surface (ground). It is worth remembering that orographic height can be negative, particularly in some of the inland sea areas (e.g. Caspian Sea at -27m and Dead Sea at -430m).", + "dimensions": [], + "unit": "m", + "attrs": { + "height": "surface", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "landsea_mask": { + "description": "Binary indicator of whether a point is considered land (value = 1) or sea (value = 0). This is useful to identify the coastline and characterise points for correct interpretation of forecast data by users.", + "dimensions": [], + "unit": "1", + "attrs": { + "height": "surface", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "precipitation_accumulation-PT01H": { + "description": "Implied depth of the layer of liquid water which has been deposited on the surface in the previous hour. This includes rain, snow and hail, with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", + "dimensions": [], + "unit": "m", + "attrs": { + "height": "surface", + "15M_timesteps": "-", + "1H_timesteps": "T+1 to T+54", + "3H_timesteps": "-", + "content_type": "application/netcdf" + } + }, + "precipitation_accumulation-PT03H": { + "description": "Implied depth of the layer of liquid water which has been deposited on the surface in the previous 3 hours. This includes rain, snow and hail, with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", + "dimensions": [], + "unit": "m", + "attrs": { + "height": "surface", + "15M_timesteps": "-", + "1H_timesteps": "-", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "precipitation_rate": { + "description": "Instantaneous rate at which liquid water (as a depth) was being deposited on the surface. This includes rain, snow and hail with the ice phase precipitation being considered as a liquid water equivalent (LWE) value. It includes the contribution from the model convection scheme if this is invoked.", + "dimensions": [], + "unit": "m/s", + "attrs": { + "height": "surface", + "15M_timesteps": "T+0 to T+54", + "1H_timesteps": "-", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "pressure_at_mean_sea_level": { + "description": "Air pressure at mean sea level which is close to the geoid in sea areas. Air pressure at sea level is the quantity often abbreviated as MSLP or PMSL.", + "dimensions": [], + "unit": "Pa", + "attrs": { + "height": "surface", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "pressure_at_surface": { + "description": "Air pressure at the surface (lower boundary of the atmosphere).", + "dimensions": [], + "unit": "Pa", + "attrs": { + "height": "surface", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "radiation_flux_in_longwave_downward_at_surface": { + "description": "Longwave radiation at the surface from above directed at the ground.", + "dimensions": [], + "unit": "W/m2", + "attrs": { + "height": "surface", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "radiation_flux_in_shortwave_diffuse_downward_at_surface": { + "description": "Diffuse component of shortwave radiation at the surface from above directed at the ground.", + "dimensions": [], + "unit": "W/m2", + "attrs": { + "height": "surface", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "radiation_flux_in_shortwave_direct_downward_at_surface": { + "description": "Direct component of shortwave radiation at the surface from above directed at the ground.", + "dimensions": [], + "unit": "W/m2", + "attrs": { + "height": "surface", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "radiation_flux_in_shortwave_total_downward_at_surface": { + "description": "Total shortwave radiation at the surface from above directed at the ground.", + "dimensions": [], + "unit": "W/m2", + "attrs": { + "height": "surface", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "radiation_flux_in_uv_downward_at_surface": { + "description": "Ultraviolet radiation at the surface from above directed at the ground.", + "dimensions": [], + "unit": "W/m2", + "attrs": { + "height": "surface", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "rainfall_accumulation-PT01H": { + "description": "Implied depth of the rain produced by the model precipitation scheme which has been deposited on the surface in the previous hour. This excludes the rain produced by the model convection scheme.", + "dimensions": [], + "unit": "m", + "attrs": { + "height": "surface", + "15M_timesteps": "-", + "1H_timesteps": "T+1 to T+54", + "3H_timesteps": "-", + "content_type": "application/netcdf" + } + }, + "rainfall_accumulation-PT03H": { + "description": "Implied depth of the rain produced by the model precipitation scheme which has been deposited on the surface in the previous 3 hours. This excludes the rain produced by the model convection scheme.", + "dimensions": [], + "unit": "m", + "attrs": { + "height": "surface", + "15M_timesteps": "-", + "1H_timesteps": "-", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "rainfall_rate": { + "description": "Instantaneous rate at which rain (as a depth) was being produced by the model precipitation scheme and deposited on the surface. This excludes the rain produced by the model convection scheme.", + "dimensions": [], + "unit": "m/s", + "attrs": { + "height": "surface", + "15M_timesteps": "T+0 to T+54", + "1H_timesteps": "-", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "relative_humidity_at_screen_level": { + "description": "Fractional relative humidity (ratio of the partial pressure of water vapour to the equilibrium vapour pressure of water) at screen level (1.5m above the surface.)", + "dimensions": [], + "unit": "1", + "attrs": { + "height": "1.5m", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "sensible_heat_flux_at_surface": { + "description": "Exchange of heat between the surface and the air by motion of air, also called turbulent heat flux.", + "dimensions": [], + "unit": "W/m2", + "attrs": { + "height": "surface", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "snow_depth_water_equivalent": { + "description": "Liquid water equivalent (LWE) depth of the snow lying on the surface (ground). Typically water is 10 times as dense as snow, so multiplying by 10 gives an approximate depth of the snow, although wet snow can be significantly denser and powder snow much less dense.", + "dimensions": [], + "unit": "m", + "attrs": { + "height": "surface", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "snowfall_accumulation-PT01H": { + "description": "Implied depth of the (LWE) snow (as a depth) produced by the model precipitation scheme and deposited on the surface in the previous hour. This excludes the snow produced by the model convection scheme.", + "dimensions": [], + "unit": "m", + "attrs": { + "height": "surface", + "15M_timesteps": "-", + "1H_timesteps": "T+1 to T+54", + "3H_timesteps": "-", + "content_type": "application/netcdf" + } + }, + "snowfall_accumulation-PT03H": { + "description": "Implied depth of the (LWE) snow (as a depth) produced by the model precipitation scheme and deposited on the surface in the previous 3 hours. This excludes the snow produced by the model convection scheme.", + "dimensions": [], + "unit": "m", + "attrs": { + "height": "surface", + "15M_timesteps": "-", + "1H_timesteps": "-", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "snowfall_rate": { + "description": "Instantaneous rate at which liquid water equivalent (LWE) snow (as a depth) was produced by the model precipitation scheme and deposited on the surface. This excludes the snow produced by the model convection scheme.", + "dimensions": [], + "unit": "m/s", + "attrs": { + "height": "surface", + "15M_timesteps": "T+0 to T+54", + "1H_timesteps": "-", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "temperature_at_screen_level": { + "description": "Instantaneous air temperature at screen level (1.5m).", + "dimensions": [], + "unit": "K", + "attrs": { + "height": "1.5m", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "temperature_at_screen_level_max-PT01H": { + "description": "Maximum instantaneous air temperature at screen level (1.5m) in the previous hour.", + "dimensions": [], + "unit": "K", + "attrs": { + "height": "1.5m", + "15M_timesteps": "-", + "1H_timesteps": "T+1 to T+120", + "3H_timesteps": "-", + "content_type": "application/netcdf" + } + }, + "temperature_at_screen_level_min-PT01H": { + "description": "Minimum instantaneous air temperature at screen level (1.5m) in the previous hour.", + "dimensions": [], + "unit": "K", + "attrs": { + "height": "1.5m", + "15M_timesteps": "-", + "1H_timesteps": "T+1 to T+120", + "3H_timesteps": "-", + "content_type": "application/netcdf" + } + }, + "temperature_at_surface": { + "description": "Temperature at the surface interface between the air and the ground.", + "dimensions": [], + "unit": "K", + "attrs": { + "height": "surface", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "temperature_of_dew_point_at_screen_level": { + "description": "Instantaneous dew point temperature (temperature at which a parcel of air reaches saturation upon being cooled at constant pressure and specific humidity) at screen level (1.5m).", + "dimensions": [], + "unit": "K", + "attrs": { + "height": "1.5m", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "visibility_at_screen_level": { + "description": "Horizontal distance at which something can be seen horizontally from screen level (1.5m).", + "dimensions": [], + "unit": "m", + "attrs": { + "height": "1.5m", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "wind_direction_at_10m": { + "description": "Wind at 10m above the surface is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. In meteorological reports the direction of the wind vector is given as the direction from which it is blowing. Note: This with wind speed at 10m replaces x wind at 10m and y wind at 10m.", + "dimensions": [], + "unit": "degrees", + "attrs": { + "height": "10.0m", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "wind_gust_at_10m": { + "description": "Diagnosed instantaneous wind gust at 10m. This can be considered as the extreme rather than steady wind speed that might be experienced at this specific time.", + "dimensions": [], + "unit": "m/s", + "attrs": { + "height": "10.0m", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "wind_gust_at_10m_max-PT01H": { + "description": "Maximum diagnosed instantaneous wind gust at 10m in the previous hour. This can be considered as the extreme wind speed that might be experienced in this period.", + "dimensions": [], + "unit": "m/s", + "attrs": { + "height": "10.0m", + "15M_timesteps": "-", + "1H_timesteps": "T+1 to T+54", + "3H_timesteps": "-", + "content_type": "application/netcdf" + } + }, + "wind_gust_at_10m_max-PT03H": { + "description": "Maximum diagnosed instantaneous wind gust at 10m in the previous 3 hours. This can be considered as the extreme wind speed that might be experienced in this period.", + "dimensions": [], + "unit": "m/s", + "attrs": { + "height": "10.0m", + "15M_timesteps": "-", + "1H_timesteps": "-", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "wind_speed_at_10m": { + "description": "Wind at 10m above the surface is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. The speed is the magnitude of velocity.", + "dimensions": [], + "unit": "m/s", + "attrs": { + "height": "10.0m", + "15M_timesteps": "-", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + } + }, + "stac_version": "1.0.0", + "msft:group_id": "metoffice", + "msft:container": "", + "stac_extensions": [ + "https://stac-extensions.github.io/forecast/v0.2.0/schema.json", + "https://stac-extensions.github.io/datacube/v2.0.0/schema.json" + ], + "msft:storage_account": "metofficeeuwest", + "msft:short_description": "Met Office UK Deterministic Near Surface Level", + "msft:region": "westeurope" +} diff --git a/datasets/met-office/collection/met-office-uk-deterministic-pressure/template.json b/datasets/met-office/collection/met-office-uk-deterministic-pressure/template.json index 651918d3..2885978f 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-pressure/template.json +++ b/datasets/met-office/collection/met-office-uk-deterministic-pressure/template.json @@ -1,167 +1,146 @@ { - "id": "met-office-UK-deterministic-pressure-level", - "type": "Collection", - "links": [ - { - "rel": "license", - "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", - "type": "text/html", - "title": "Creative Commons Attribution-ShareAlike 4.0" - }, - { - "rel": "describedby", - "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", - "title": "Met Office Dataset Documentation" - } - ], - "title": "Pressure levels collection Met Office UKV 2km deterministic forecast", - "assets": { - "thumbnail": { - "href": "", - "type": "image/png", - "roles": [ - "thumbnail" - ], - "title": "Pressure levels collection Met Office UKV 2km deterministic forecast Thumbnail" - } + "id": "met-office-uk-deterministic-pressure", + "type": "Collection", + "links": [ + { + "rel": "license", + "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", + "type": "text/html", + "title": "Creative Commons Attribution-ShareAlike 4.0" }, - "extent": { - "spatial": { - "bbox": [ - [ - 15, - 50, - 5, - 62 - ] - ] - }, - "temporal": { - "interval": [ - [ - "2023-12-15T00:00:00Z", - null - ] - ] - } + { + "rel": "describedby", + "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", + "title": "Met Office Dataset Documentation" + } + ], + "title": "Pressure levels collection Met Office UKV 2km deterministic forecast", + "assets": { + "thumbnail": { + "href": "https://ai4edatasetspublicassets.blob.core.windows.net/assets/pc_thumbnails/met-office-uk-deterministic-pressure.jpg", + "type": "image/png", + "roles": ["thumbnail"], + "title": "Pressure levels collection Met Office UKV 2km deterministic forecast Thumbnail" + } + }, + "extent": { + "spatial": { + "bbox": [[15, 50, 5, 62]] }, - "license": "proprietary", - "keywords": [ - "Met Office", - "Weather", - "Forecast", - "UK", - "Temperature", - "Wind", - "Pressure", - "Humidity" - ], - "providers": [ - { - "url": "https://www.metoffice.gov.uk/", - "name": "Met Office", - "roles": [ - "producer", - "licensor", - "processor" - ] - }, - { - "url": "https://planetarycomputer.microsoft.com", - "name": "Microsoft", - "roles": [ - "host", - "processor" - ] - } - ], - "cube:variables": { - "geopotential_height_on_pressure_levels": { - "description": "Note: from January 2026, this parameter will replace height_ASL_on_pressure_levels.", - "dimensions": [], - "unit": "m", - "attrs": { - "pressure_levels": "All", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "height_ASL_on_pressure_levels": { - "description": "Note: from January 2026, this parameter will be replaced by geopotential_height_on_pressure_levels.", - "dimensions": [], - "unit": "m", - "attrs": { - "pressure_levels": "All", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "relative_humidity_on_pressure_levels": { - "description": "Ratio of the partial pressure of water vapour to the equilibrium vapour pressure of water.", - "dimensions": [], - "unit": "1", - "attrs": { - "pressure_levels": "All", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "temperature_on_pressure_levels": { - "description": "Air temperature on pressure levels.", - "dimensions": [], - "unit": "K", - "attrs": { - "pressure_levels": "All", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "wet_bulb_potential_temperature_on_pressure_levels": { - "description": "Wet bulb potential temperature is defined as the temperature that a parcel of air would have if it were brought down to the standard pressure of 1000hPa following a saturated adiabatic lapse rate. Available on levels: 85000.0, 70000.0, 50000.0 Pa", - "dimensions": [], - "unit": "K", - "attrs": { - "pressure_levels": "85000.0, 70000.0, 50000.0", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "wind_direction_on_pressure_levels": { - "description": "Wind direction on pressure levels is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. In meteorological reports the direction of the wind vector is given as the direction from which it is blowing.", - "dimensions": [], - "unit": "degrees", - "attrs": { - "pressure_levels": "All", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "wind_speed_on_pressure_levels": { - "description": "Wind speed on pressure levels is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. The speed is the magnitude of velocity.", - "dimensions": [], - "unit": "m/s", - "attrs": { - "pressure_levels": "All", - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - } + "temporal": { + "interval": [["2023-12-15T00:00:00Z", null]] + } + }, + "license": "proprietary", + "keywords": [ + "Met Office", + "Weather", + "Forecast", + "UK", + "Temperature", + "Wind", + "Pressure", + "Humidity" + ], + "providers": [ + { + "url": "https://www.metoffice.gov.uk/", + "name": "Met Office", + "roles": ["producer", "licensor", "processor"] }, - "stac_version": "1.0.0", - "msft:group_id": "metoffice", - "msft:container": "", - "stac_extensions": [ - "https://stac-extensions.github.io/forecast/v0.2.0/schema.json", - "https://stac-extensions.github.io/datacube/v2.0.0/schema.json" - ], - "msft:storage_account": "metofficeeuwest", - "msft:short_description": "Met Office UK Deterministic Pressure Level", - "msft:region": "westeurope" -} \ No newline at end of file + { + "url": "https://planetarycomputer.microsoft.com", + "name": "Microsoft", + "roles": ["host", "processor"] + } + ], + "cube:variables": { + "geopotential_height_on_pressure_levels": { + "description": "Note: from January 2026, this parameter will replace height_ASL_on_pressure_levels.", + "dimensions": [], + "unit": "m", + "attrs": { + "pressure_levels": "All", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "height_ASL_on_pressure_levels": { + "description": "Note: from January 2026, this parameter will be replaced by geopotential_height_on_pressure_levels.", + "dimensions": [], + "unit": "m", + "attrs": { + "pressure_levels": "All", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "relative_humidity_on_pressure_levels": { + "description": "Ratio of the partial pressure of water vapour to the equilibrium vapour pressure of water.", + "dimensions": [], + "unit": "1", + "attrs": { + "pressure_levels": "All", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "temperature_on_pressure_levels": { + "description": "Air temperature on pressure levels.", + "dimensions": [], + "unit": "K", + "attrs": { + "pressure_levels": "All", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "wet_bulb_potential_temperature_on_pressure_levels": { + "description": "Wet bulb potential temperature is defined as the temperature that a parcel of air would have if it were brought down to the standard pressure of 1000hPa following a saturated adiabatic lapse rate. Available on levels: 85000.0, 70000.0, 50000.0 Pa", + "dimensions": [], + "unit": "K", + "attrs": { + "pressure_levels": "85000.0, 70000.0, 50000.0", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "wind_direction_on_pressure_levels": { + "description": "Wind direction on pressure levels is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. In meteorological reports the direction of the wind vector is given as the direction from which it is blowing.", + "dimensions": [], + "unit": "degrees", + "attrs": { + "pressure_levels": "All", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "wind_speed_on_pressure_levels": { + "description": "Wind speed on pressure levels is defined as a two-dimensional (horizontal) air velocity vector with no vertical component. The speed is the magnitude of velocity.", + "dimensions": [], + "unit": "m/s", + "attrs": { + "pressure_levels": "All", + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + } + }, + "stac_version": "1.0.0", + "msft:group_id": "metoffice", + "msft:container": "", + "stac_extensions": [ + "https://stac-extensions.github.io/forecast/v0.2.0/schema.json", + "https://stac-extensions.github.io/datacube/v2.0.0/schema.json" + ], + "msft:storage_account": "metofficeeuwest", + "msft:short_description": "Met Office UK Deterministic Pressure Level", + "msft:region": "westeurope" +} diff --git a/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere/template.json b/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere/template.json index f09f2156..e1ea5a00 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere/template.json +++ b/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere/template.json @@ -1,201 +1,180 @@ { - "id": "met-office-uk-deterministic-whole-atmosphere-level", - "type": "Collection", - "links": [ - { - "rel": "license", - "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", - "type": "text/html", - "title": "Creative Commons Attribution-ShareAlike 4.0" - }, - { - "rel": "describedby", - "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", - "title": "Met Office Dataset Documentation" - } - ], - "title": "Whole-atmosphere collection Met Office UKV 2km deterministic forecast", - "assets": { - "thumbnail": { - "href": "", - "type": "image/png", - "roles": [ - "thumbnail" - ], - "title": "Whole-atmosphere collection Met Office UKV 2km deterministic forecast thumbnail" - } + "id": "met-office-uk-deterministic-whole-atmosphere", + "type": "Collection", + "links": [ + { + "rel": "license", + "href": "https://creativecommons.org/licenses/by-sa/4.0/deed.en", + "type": "text/html", + "title": "Creative Commons Attribution-ShareAlike 4.0" }, - "extent": { - "spatial": { - "bbox": [ - [ - 15, - 50, - 5, - 62 - ] - ] - }, - "temporal": { - "interval": [ - [ - "2023-12-15T00:00:00Z", - null - ] - ] - } + { + "rel": "describedby", + "href": "https://www.metoffice.gov.uk/services/data/external-data-channels", + "title": "Met Office Dataset Documentation" + } + ], + "title": "Whole-atmosphere collection Met Office UKV 2km deterministic forecast", + "assets": { + "thumbnail": { + "href": "https://ai4edatasetspublicassets.blob.core.windows.net/assets/pc_thumbnails/met-office-uk-deterministic-whole-atmosphere.jpg", + "type": "image/png", + "roles": ["thumbnail"], + "title": "Whole-atmosphere collection Met Office UKV 2km deterministic forecast thumbnail" + } + }, + "extent": { + "spatial": { + "bbox": [[15, 50, 5, 62]] }, - "license": "proprietary", - "keywords": [ - "Met Office", - "Weather", - "Forecast", - "UK", - "CAPE", - "Cloud", - "Freezing", - "Wet Bulb", - "Lightning" - ], - "providers": [ - { - "url": "https://www.metoffice.gov.uk/", - "name": "Met Office", - "roles": [ - "producer", - "licensor", - "processor" - ] - }, - { - "url": "https://planetarycomputer.microsoft.com", - "name": "Microsoft", - "roles": [ - "host", - "processor" - ] - } - ], - "cube:variables": { - "CAPE_most_unstable_below_500hPa": { - "description": "CAPE (Convective Available Potential Energy) calculated for the most unstable parcel where the most unstable parcel is defined as the parcel with the highest fixed level CAPE launched from any level (including screen-level=1.5m) within 500hPa of the surface pressure.", - "dimensions": [], - "unit": "J/kg", - "attrs": { - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "CAPE_surface": { - "description": "Value of CAPE (Convective Available Potential Energy) calculated for a surface based parcel where a surface based parcel is defined as a parcel initiated with thermodynamic properties at screen level height (1.5m) i.e. the parcel is launched from screen level.", - "dimensions": [], - "unit": "J/kg", - "attrs": { - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "cloud_amount_below_1000ft_ASL": { - "description": "Fraction of horizontal grid square occupied by cloud below 1000 feet above sea level.", - "dimensions": [], - "unit": "1", - "attrs": { - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "cloud_amount_of_high_cloud": { - "description": "Fraction of horizontal grid square occupied by cloud in the high-level cloud height range (from the lowest model layer containing the 5574m height level up to but excluding the lowest model layer containing 13608m height level).", - "dimensions": [], - "unit": "1", - "attrs": { - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "cloud_amount_of_low_cloud": { - "description": "Fraction of horizontal grid square occupied by cloud in the low-level cloud height range (from the lowest model layer containing the 111m height level up to but excluding the lowest model layer containing 1949m height level).", - "dimensions": [], - "unit": "1", - "attrs": { - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "cloud_amount_of_medium_cloud": { - "description": "Fraction of horizontal grid square occupied by cloud in the mid-level cloud height range (from the lowest model layer containing the 1949m height level up to but excluding the lowest model layer containing 5574m height level).", - "dimensions": [], - "unit": "1", - "attrs": { - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "cloud_amount_of_total_cloud": { - "description": "Fraction of horizontal grid square occupied by cloud as diagnosed by the model cloud scheme. This is for the whole atmosphere column as seen from the surface or the top of the atmosphere.", - "dimensions": [], - "unit": "1", - "attrs": { - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "height_AGL_at_cloud_base_where_cloud_cover_2p5_oktas": { - "description": "Height of the base of the lowest cloud above the surface (ground) where there is at least 2.5 oktas (eighths) of cloud cover. This corresponds to scattered cloud.", - "dimensions": [], - "unit": "m", - "attrs": { - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "height_AGL_at_freezing_level": { - "description": "Height of the 0oC isotherm (freezing level) above the surface (ground).", - "dimensions": [], - "unit": "m", - "attrs": { - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "height_AGL_at_wet_bulb_freezing_level": { - "description": "Height of the wet bulb freezing level (i.e. where the wet bulb temperature is 0oC) above sea level. This is also referred to as the altitude of the wet bulb freezing level or (geometric) height above the geoid, which is the reference geopotential surface. Wet bulb temperature is defined as the temperature of a parcel of air cooled to saturation (100% relative humidity) by the evaporation of water into it with the latent heat supplied by the parcel.", - "dimensions": [], - "unit": "m", - "attrs": { - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "T+57 to T+120", - "content_type": "application/netcdf" - } - }, - "lightning_flash_accumulation-PT01H": { - "description": "This represents the total (cloud-to-cloud and cloud-to-ground) lightning flashes per square metre within the previous hour", - "dimensions": [], - "unit": "count/m2", - "attrs": { - "1H_timesteps": "T+0 to T+54", - "3H_timesteps": "-", - "content_type": "application/netcdf" - } - } + "temporal": { + "interval": [["2023-12-15T00:00:00Z", null]] + } + }, + "license": "proprietary", + "keywords": [ + "Met Office", + "Weather", + "Forecast", + "UK", + "CAPE", + "Cloud", + "Freezing", + "Wet Bulb", + "Lightning" + ], + "providers": [ + { + "url": "https://www.metoffice.gov.uk/", + "name": "Met Office", + "roles": ["producer", "licensor", "processor"] }, - "stac_version": "1.0.0", - "msft:group_id": "metoffice", - "msft:container": "", - "stac_extensions": [ - "https://stac-extensions.github.io/forecast/v0.2.0/schema.json", - "https://stac-extensions.github.io/datacube/v2.0.0/schema.json" - ], - "msft:storage_account": "metofficeeuwest", - "msft:short_description": "Met Office UK Deterministic Whole Atmosphere Level", - "msft:region": "westeurope" -} \ No newline at end of file + { + "url": "https://planetarycomputer.microsoft.com", + "name": "Microsoft", + "roles": ["host", "processor"] + } + ], + "cube:variables": { + "CAPE_most_unstable_below_500hPa": { + "description": "CAPE (Convective Available Potential Energy) calculated for the most unstable parcel where the most unstable parcel is defined as the parcel with the highest fixed level CAPE launched from any level (including screen-level=1.5m) within 500hPa of the surface pressure.", + "dimensions": [], + "unit": "J/kg", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "CAPE_surface": { + "description": "Value of CAPE (Convective Available Potential Energy) calculated for a surface based parcel where a surface based parcel is defined as a parcel initiated with thermodynamic properties at screen level height (1.5m) i.e. the parcel is launched from screen level.", + "dimensions": [], + "unit": "J/kg", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "cloud_amount_below_1000ft_ASL": { + "description": "Fraction of horizontal grid square occupied by cloud below 1000 feet above sea level.", + "dimensions": [], + "unit": "1", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "cloud_amount_of_high_cloud": { + "description": "Fraction of horizontal grid square occupied by cloud in the high-level cloud height range (from the lowest model layer containing the 5574m height level up to but excluding the lowest model layer containing 13608m height level).", + "dimensions": [], + "unit": "1", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "cloud_amount_of_low_cloud": { + "description": "Fraction of horizontal grid square occupied by cloud in the low-level cloud height range (from the lowest model layer containing the 111m height level up to but excluding the lowest model layer containing 1949m height level).", + "dimensions": [], + "unit": "1", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "cloud_amount_of_medium_cloud": { + "description": "Fraction of horizontal grid square occupied by cloud in the mid-level cloud height range (from the lowest model layer containing the 1949m height level up to but excluding the lowest model layer containing 5574m height level).", + "dimensions": [], + "unit": "1", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "cloud_amount_of_total_cloud": { + "description": "Fraction of horizontal grid square occupied by cloud as diagnosed by the model cloud scheme. This is for the whole atmosphere column as seen from the surface or the top of the atmosphere.", + "dimensions": [], + "unit": "1", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "height_AGL_at_cloud_base_where_cloud_cover_2p5_oktas": { + "description": "Height of the base of the lowest cloud above the surface (ground) where there is at least 2.5 oktas (eighths) of cloud cover. This corresponds to scattered cloud.", + "dimensions": [], + "unit": "m", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "height_AGL_at_freezing_level": { + "description": "Height of the 0oC isotherm (freezing level) above the surface (ground).", + "dimensions": [], + "unit": "m", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "height_AGL_at_wet_bulb_freezing_level": { + "description": "Height of the wet bulb freezing level (i.e. where the wet bulb temperature is 0oC) above sea level. This is also referred to as the altitude of the wet bulb freezing level or (geometric) height above the geoid, which is the reference geopotential surface. Wet bulb temperature is defined as the temperature of a parcel of air cooled to saturation (100% relative humidity) by the evaporation of water into it with the latent heat supplied by the parcel.", + "dimensions": [], + "unit": "m", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "T+57 to T+120", + "content_type": "application/netcdf" + } + }, + "lightning_flash_accumulation-PT01H": { + "description": "This represents the total (cloud-to-cloud and cloud-to-ground) lightning flashes per square metre within the previous hour", + "dimensions": [], + "unit": "count/m2", + "attrs": { + "1H_timesteps": "T+0 to T+54", + "3H_timesteps": "-", + "content_type": "application/netcdf" + } + } + }, + "stac_version": "1.0.0", + "msft:group_id": "metoffice", + "msft:container": "", + "stac_extensions": [ + "https://stac-extensions.github.io/forecast/v0.2.0/schema.json", + "https://stac-extensions.github.io/datacube/v2.0.0/schema.json" + ], + "msft:storage_account": "metofficeeuwest", + "msft:short_description": "Met Office UK Deterministic Whole Atmosphere Level", + "msft:region": "westeurope" +} From 0efdd5a6c06a1603ae26aa806ad97d238da76c0e Mon Sep 17 00:00:00 2001 From: Pete Gadomski Date: Mon, 8 Dec 2025 10:45:41 -0700 Subject: [PATCH 24/28] feat: add scripts --- .../met-office/scripts/ingest-collections.sh | 35 ++++++++++++++ .../scripts/process-items-and-monitor.sh | 46 +++++++++++++++++++ datasets/met-office/scripts/upload-all.sh | 46 +++++++++++++++++++ 3 files changed, 127 insertions(+) create mode 100755 datasets/met-office/scripts/ingest-collections.sh create mode 100755 datasets/met-office/scripts/process-items-and-monitor.sh create mode 100755 datasets/met-office/scripts/upload-all.sh diff --git a/datasets/met-office/scripts/ingest-collections.sh b/datasets/met-office/scripts/ingest-collections.sh new file mode 100755 index 00000000..7328ee8c --- /dev/null +++ b/datasets/met-office/scripts/ingest-collections.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +set -e + +echo "Ingesting all Met Office collections" +echo "" + +for collection in \ + met-office-global-deterministic-height \ + met-office-global-deterministic-near-surface \ + met-office-global-deterministic-pressure \ + met-office-global-deterministic-whole-atmosphere \ + met-office-uk-deterministic-height \ + met-office-uk-deterministic-near-surface \ + met-office-uk-deterministic-pressure \ + met-office-uk-deterministic-whole-atmosphere +do + echo "========================================" + echo "Ingesting collection: ${collection}" + echo "========================================" + + pctasks dataset ingest-collection \ + -d datasets/met-office/dataset.yaml \ + -a registry pccomponents \ + -c "$collection" \ + --submit + + echo "" + echo "Submitted ingest for ${collection}" + echo "" +done + +echo "========================================" +echo "All collections submitted successfully!" +echo "========================================" diff --git a/datasets/met-office/scripts/process-items-and-monitor.sh b/datasets/met-office/scripts/process-items-and-monitor.sh new file mode 100755 index 00000000..1bea56d7 --- /dev/null +++ b/datasets/met-office/scripts/process-items-and-monitor.sh @@ -0,0 +1,46 @@ +#!/bin/bash + +set -e + +if [ $# -ne 2 ]; then + echo "Usage: $0 " + echo "Example: $0 my-chunkset met-office-global-deterministic-height" + exit 1 +fi + +CHUNKSET_ID="$1" +COLLECTION_ID="$2" + +echo "Creating chunks for collection: ${COLLECTION_ID}" +echo "Chunkset ID: ${CHUNKSET_ID}" + +# Run create-chunks and capture output to a temp file while still showing it +TEMP_FILE=$(mktemp) +trap "rm -f ${TEMP_FILE}" EXIT + +pctasks dataset process-items "${CHUNKSET_ID}" \ + -d dataset.yaml \ + -c "${COLLECTION_ID}" \ + --submit \ + -a registry pccomponents.azurecr.io | tee "${TEMP_FILE}" + +# Extract the run ID from the captured output +RUN_ID=$(grep -oE '[a-f0-9-]{36}' "${TEMP_FILE}" | tail -1) + +if [ -z "${RUN_ID}" ]; then + echo "Error: Could not extract run ID from output" + exit 1 +fi + +echo "" +echo "Monitoring run: ${RUN_ID}" +echo "" + +# Monitor the run status +if ! pctasks runs status -w "${RUN_ID}"; then + echo "" + echo "Status command failed. Fetching run log..." + echo "" + pctasks runs get run-log "${RUN_ID}" + exit 1 +fi diff --git a/datasets/met-office/scripts/upload-all.sh b/datasets/met-office/scripts/upload-all.sh new file mode 100755 index 00000000..68787540 --- /dev/null +++ b/datasets/met-office/scripts/upload-all.sh @@ -0,0 +1,46 @@ +#!/bin/bash + +set -e + +if [ $# -ne 1 ]; then + echo "Usage: $0 " + echo "Example: $0 my-chunkset" + exit 1 +fi + +CHUNKSET_ID="$1" + +echo "Processing items for all Met Office collections" +echo "Chunkset ID: ${CHUNKSET_ID}" +echo "" + +COLLECTIONS=( + "met-office-global-deterministic-height" + "met-office-global-deterministic-near-surface" + "met-office-global-deterministic-pressure" + "met-office-global-deterministic-whole-atmosphere" + "met-office-uk-deterministic-height" + "met-office-uk-deterministic-near-surface" + "met-office-uk-deterministic-pressure" + "met-office-uk-deterministic-whole-atmosphere" +) + +for COLLECTION_ID in "${COLLECTIONS[@]}"; do + echo "========================================" + echo "Processing collection: ${COLLECTION_ID}" + echo "========================================" + + pctasks dataset process-items "${CHUNKSET_ID}" \ + -d dataset.yaml \ + -c "${COLLECTION_ID}" \ + --submit \ + -a registry pccomponents.azurecr.io + + echo "" + echo "Submitted workflow for ${COLLECTION_ID}" + echo "" +done + +echo "========================================" +echo "All collections submitted successfully!" +echo "========================================" From 754a8813774f22f84aec18fb875ab470b32f10b8 Mon Sep 17 00:00:00 2001 From: Pete Gadomski Date: Mon, 8 Dec 2025 10:48:30 -0700 Subject: [PATCH 25/28] docs: add readme --- datasets/met-office/README.md | 43 +++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 datasets/met-office/README.md diff --git a/datasets/met-office/README.md b/datasets/met-office/README.md new file mode 100644 index 00000000..a8e3e7ff --- /dev/null +++ b/datasets/met-office/README.md @@ -0,0 +1,43 @@ +# Met Office Dataset + +This directory contains the configuration and scripts for ingesting Met Office weather forecast data into the Planetary Computer. + +## Collections + +This dataset includes eight collections: + +### Global Collections (10km resolution) + +- **met-office-global-deterministic-height** - Weather parameters at specific atmospheric height levels +- **met-office-global-deterministic-near-surface** - Near-surface weather parameters (precipitation, temperature, wind, etc.) +- **met-office-global-deterministic-pressure** - Weather parameters at specific atmospheric pressure levels +- **met-office-global-deterministic-whole-atmosphere** - Whole atmosphere parameters (CAPE, cloud amounts, etc.) + +### UK Collections (2km resolution) + +- **met-office-uk-deterministic-height** - Weather parameters at specific atmospheric height levels +- **met-office-uk-deterministic-near-surface** - Near-surface weather parameters +- **met-office-uk-deterministic-pressure** - Weather parameters at specific atmospheric pressure levels +- **met-office-uk-deterministic-whole-atmosphere** - Whole atmosphere parameters + +## Scripts + +The `scripts/` directory contains shell scripts for managing the dataset workflow: + +- **`ingest-collections.sh`** - Ingest all eight Met Office collections into the STAC catalog: + + ```bash + ./scripts/ingest-collections.sh + ``` + +- **`upload-all.sh`** - Process items for all collections using a specified chunkset id: + + ```bash + ./scripts/upload-all.sh + ``` + +- **`process-items-and-monitor.sh`** - Process items for a specific collection and monitor the workflow progress: + + ```bash + ./scripts/process-items-and-monitor.sh + ``` From bea336681be9ec32222a212bfbea6e4031cc7a50 Mon Sep 17 00:00:00 2001 From: Pete Gadomski Date: Mon, 8 Dec 2025 10:49:29 -0700 Subject: [PATCH 26/28] fix: remove claude --- CLAUDE.md | 336 ------------------------------------------------------ 1 file changed, 336 deletions(-) delete mode 100644 CLAUDE.md diff --git a/CLAUDE.md b/CLAUDE.md deleted file mode 100644 index 02768110..00000000 --- a/CLAUDE.md +++ /dev/null @@ -1,336 +0,0 @@ -# CLAUDE.md - -This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. - -## What is PCTasks? - -PCTasks is a scalable workflow orchestration system built on Azure and Kubernetes. It's the reactive ETL system that powers the Microsoft Planetary Computer STAC catalog, managing dataset ingestion, processing, and updates. - -**Core Concept**: PCTasks takes dataset configurations (`dataset.yaml`), generates workflows, and executes them as containerized tasks on Kubernetes (via Argo Workflows) or Azure Batch. - -## Architecture Overview - -### Multi-Package Monorepo Structure - -This is a Python monorepo with 12 distinct packages under `pctasks/`: - -``` -pctasks/ -├── core/ # Base models, storage, templating, shared utilities -├── cli/ # Top-level CLI entry point -├── client/ # Client library for API interaction, profile management -├── server/ # FastAPI server exposing REST API -├── task/ # Task execution runtime (runs inside containers) -├── run/ # Workflow/task runners (Argo, Batch, local) -├── dataset/ # Dataset model and processing logic -├── ingest/ # Ingest workflow generation -├── ingest_task/ # Ingest task implementations (PgSTAC database operations) -├── router/ # Message routing between queues -├── notify/ # Notification handling -└── dev/ # Development utilities (setup, testing) -``` - -Each package has its own `pyproject.toml` and can be installed independently, but they depend on each other (e.g., most depend on `pctasks.core`). - -### Request Flow - -1. **Client** → API Server (FastAPI) -2. **Server** → CosmosDB (workflow definitions) + Azure Queues (submission) -3. **Router** (Azure Function) → Reads queue, creates Argo Workflow -4. **Argo** → Schedules tasks as Kubernetes Pods -5. **Task Container** → Executes `pctasks.task` runtime -6. **Task** → Reads from Blob Storage, processes data, writes to PgSTAC -7. **Notifications** → Item updates sent to queue for downstream consumers - -### Key Subsystems - -- **Templating**: Jinja2-like syntax (`${{ ... }}`) for dynamic values in workflow/dataset configs - - `${{ secrets.* }}`: KeyVault secrets - - `${{ args.* }}`: Workflow arguments - - `${{ local.path(...) }}`: Local file references - - `${{ pc.get_token(...) }}`: SAS token generation - -- **Storage Abstraction**: `StorageFactory` provides unified access to Azure Blob Storage with automatic SAS token handling - -- **Chunking**: Large datasets split into "chunk files" (lists of asset URIs) for parallel processing - -- **Code Injection**: Custom Python code/requirements uploaded to Blob Storage, downloaded at task runtime - -## Development Commands - -### Initial Setup - -```bash -# One-time setup: creates dev environment with Azurite, CosmosDB emulator, Kubernetes (kind) -scripts/setup - -# Drop into development container -scripts/console -``` - -Inside the dev container, the `pctasks` CLI is available with access to local services. - -### Testing - -```bash -# Run all tests (lint + unit tests) -scripts/test - -# Test specific package -scripts/test --subpackage core - -# Only run tests, skip linting -scripts/test --test-only - -# Only lint -scripts/test --lint-only - -# Run integration tests (requires cluster running) -scripts/test-integration -``` - -**Test Location**: Each package has a `tests/` directory (e.g., `pctasks/core/tests/`). - -**Linters Used**: mypy, black, isort, flake8 - -### Code Formatting - -```bash -# Auto-format all code -scripts/format -``` - -Runs black and isort on all packages. - -### Local Development Workflow - -```bash -# Start local servers (API, Argo, etc.) -scripts/server - -# Or start in background -scripts/server --detached - -# Install packages in editable mode after code changes -scripts/install -``` - -### Building and Publishing Images - -```bash -# Build all Docker images locally -scripts/build - -# Publish images to ACR (requires authentication) -scripts/publish --acr --tag -``` - -**Core Images**: -- `pctasks-task-base`: Base image with all pctasks packages -- `pctasks-ingest`: Ingest-specific image -- `pctasks-server`: API server image -- `pctasks-run`: Workflow runner image - -**Dataset Images**: Built manually per dataset (e.g., `pctasks-aster`): -```bash -az acr build -r --subscription \ - -t pctasks-aster:latest \ - -f datasets/aster/Dockerfile . -``` - -### Profile Management - -PCTasks uses profiles to target different environments (dev, staging, production): - -```bash -# Create new profile -pctasks profile create staging - -# Set default profile -pctasks profile set staging - -# Use specific profile -pctasks -p staging - -# Or via environment variable -export PCTASKS_PROFILE=staging -``` - -Profiles stored in `~/.pctasks/.yaml`. - -## Working with Datasets - -### Dataset Configuration (`dataset.yaml`) - -Each dataset in `datasets/` has a `dataset.yaml` that defines: -- **image**: Docker image to use for tasks -- **code**: Custom Python modules/requirements to inject -- **collections**: STAC Collections with asset/chunk storage locations -- **environment**: Environment variables (e.g., Azure credentials) - -### Common Dataset Commands - -```bash -# Ingest collection metadata to database -pctasks dataset ingest-collection -d datasets/aster/dataset.yaml --submit - -# Process items (ETL workflow) -pctasks dataset process-items -d datasets/aster/dataset.yaml --limit 10 --submit - -# Generate chunks (asset inventory) -pctasks dataset create-chunks -d datasets/aster/dataset.yaml --submit - -# Target staging environment -pctasks dataset process-items -d dataset.yaml --target staging --submit -``` - -### Ingest Commands (Direct Collection/NDJSON Ingest) - -```bash -# Ingest collection -pctasks ingest collection ./collection/ --target staging --submit - -# Ingest NDJSON items -pctasks ingest ndjsons blob://account/container/path/ \ - --target staging \ - --num-workers 8 \ - --submit -``` - -### Workflow Management - -```bash -# Submit workflow from YAML file -pctasks workflow upsert-and-submit workflow.yaml - -# List workflows -pctasks workflow list - -# Get workflow details -pctasks workflow get - -# Submit existing workflow with arguments -pctasks workflow submit --arg since 2024-01-01 -``` - -### Creating a New Dataset - -See `docs/getting_started/creating_a_dataset.md` for full guide. Quick checklist: - -1. Create `datasets//dataset.yaml` -2. Create collection template in `datasets//collection/` -3. Implement `Collection` subclass (or use `PremadeItemCollection`) -4. Add `requirements.txt` if using custom packages -5. Test with `--limit` flag first -6. Optionally build custom Docker image if dependencies are heavy - -## Important Configuration Files - -- `scripts/env`: Defines `PACKAGE_DIRS` array and helper functions used by scripts -- `docker-compose.console.yml`: Dev container configuration -- `dev-secrets.yaml`: Local secrets (created from `dev-secrets.template.yaml`) -- `deployment/terraform/`: Infrastructure as Code for Azure resources -- `.github/workflows/cicd.yml`: CI/CD pipeline - -## Common Patterns - -### Using Custom Code with `pctasks-task-base` - -Instead of building a custom Docker image, you can inject code at runtime: - -```yaml -# dataset.yaml -image: ${{ args.registry }}/pctasks-task-base:latest -code: - src: ${{ local.path(./my_module.py) }} - requirements: ${{ local.path(./requirements.txt) }} -``` - -Code is uploaded to Blob Storage, downloaded, and installed before task execution. - -### Collection Implementation - -```python -from pctasks.dataset.collection import Collection - -class MyCollection(Collection): - @classmethod - def create_item(cls, asset_uri: str, storage_factory: StorageFactory): - # Return a pystac.Item or list of Items - return [item] -``` - -### Accessing Secrets in Workflows - -```yaml -environment: - DB_CONNECTION_STRING: ${{ secrets.pgstac-connection-string }} -``` - -Secrets retrieved from Azure KeyVault at runtime. - -## Running a Single Test - -```bash -# Enter dev container -scripts/console - -# Run specific test file -pytest pctasks/core/tests/test_storage.py - -# Run specific test function -pytest pctasks/core/tests/test_storage.py::test_blob_storage - -# Run with verbose output -pytest -vv pctasks/core/tests/test_storage.py -``` - -## Deployment - -Deployment is handled via Terraform and Helm: - -```bash -# Enter deployment container -scripts/console --deploy - -# Deploy to dev stack -bin/deploy -t terraform/dev - -# Staging/production deployed via CI/CD only -``` - -**Environments**: -- `dev`: Local kind cluster, personal development -- `staging`: Deployed to "Planetary Computer Test" subscription via CI/CD -- `production`: Deployed to production subscription via CI/CD - -## Troubleshooting - -### Local Development - -- **Azurite not responding**: Run `scripts/setup --azurite` -- **CosmosDB emulator issues**: Run `scripts/setup --reset-cosmos` -- **Clear test data**: Run `scripts/setup --clear-records` -- **Services not running**: Check `docker compose ps` or restart with `scripts/server` - -### Task Execution - -- **Import errors**: Ensure code is in `code.src` or requirements are in `code.requirements` -- **Storage access denied**: Check SAS tokens in `asset_storage.token` or service principal credentials -- **Task timeout**: Increase timeout in task definition or batch pool settings - -### Workflow Issues - -- **Workflow won't submit**: Validate YAML syntax and required fields (workflow_id, dataset, jobs) -- **Template errors**: Check `${{ }}` syntax and available template variables -- **Missing secrets**: Ensure secrets exist in KeyVault and are referenced correctly - -## Documentation - -Full documentation: https://planetary-computer-tasks.readthedocs.io - -Key docs to reference: -- `docs/getting_started/creating_a_dataset.md`: Dataset creation guide -- `docs/user_guide/templating.md`: Template syntax reference -- `docs/user_guide/chunking.md`: Chunking system explanation -- `docs/development/deploying.md`: Deployment guide From 88ba438b8f6da1329ecbec7007fad0f7d90afcfd Mon Sep 17 00:00:00 2001 From: Pete Gadomski Date: Tue, 9 Dec 2025 05:28:14 -0700 Subject: [PATCH 27/28] fix: re-add container and storage account --- .../met-office-global-deterministic-height/template.json | 4 ++-- .../template.json | 4 ++-- .../met-office-global-deterministic-pressure/template.json | 4 ++-- .../template.json | 4 ++-- .../met-office-uk-deterministic-height/template.json | 4 ++-- .../met-office-uk-deterministic-near-surface/template.json | 4 ++-- .../met-office-uk-deterministic-pressure/template.json | 4 ++-- .../template.json | 4 ++-- 8 files changed, 16 insertions(+), 16 deletions(-) diff --git a/datasets/met-office/collection/met-office-global-deterministic-height/template.json b/datasets/met-office/collection/met-office-global-deterministic-height/template.json index bc19fbe5..6c98f99b 100644 --- a/datasets/met-office/collection/met-office-global-deterministic-height/template.json +++ b/datasets/met-office/collection/met-office-global-deterministic-height/template.json @@ -62,12 +62,12 @@ }, "stac_version": "1.0.0", "msft:group_id": "metoffice", - "msft:container": "", + "msft:container": "staging", "stac_extensions": [ "https://stac-extensions.github.io/forecast/v0.2.0/schema.json", "https://stac-extensions.github.io/datacube/v2.0.0/schema.json" ], - "msft:storage_account": "metofficeeuwest", + "msft:storage_account": "ukmoeuwest", "msft:short_description": "Met Office Global Deterministic Height Level", "msft:region": "westeurope" } diff --git a/datasets/met-office/collection/met-office-global-deterministic-near-surface/template.json b/datasets/met-office/collection/met-office-global-deterministic-near-surface/template.json index 9904e49f..599dbde6 100644 --- a/datasets/met-office/collection/met-office-global-deterministic-near-surface/template.json +++ b/datasets/met-office/collection/met-office-global-deterministic-near-surface/template.json @@ -640,12 +640,12 @@ }, "stac_version": "1.0.0", "msft:group_id": "metoffice", - "msft:container": "", + "msft:container": "staging", "stac_extensions": [ "https://stac-extensions.github.io/forecast/v0.2.0/schema.json", "https://stac-extensions.github.io/datacube/v2.0.0/schema.json" ], - "msft:storage_account": "metofficeeuwest", + "msft:storage_account": "ukmoeuwest", "msft:short_description": "Met Office Global Deterministic Near Surface Level", "msft:region": "westeurope" } diff --git a/datasets/met-office/collection/met-office-global-deterministic-pressure/template.json b/datasets/met-office/collection/met-office-global-deterministic-pressure/template.json index 909ec603..0009b064 100644 --- a/datasets/met-office/collection/met-office-global-deterministic-pressure/template.json +++ b/datasets/met-office/collection/met-office-global-deterministic-pressure/template.json @@ -147,12 +147,12 @@ }, "stac_version": "1.0.0", "msft:group_id": "metoffice", - "msft:container": "", + "msft:container": "staging", "stac_extensions": [ "https://stac-extensions.github.io/forecast/v0.2.0/schema.json", "https://stac-extensions.github.io/datacube/v2.0.0/schema.json" ], - "msft:storage_account": "metofficeeuwest", + "msft:storage_account": "ukmoeuwest", "msft:short_description": "Met Office Global Deterministic Pressure Level", "msft:region": "westeurope" } diff --git a/datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere/template.json b/datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere/template.json index 5b5adee3..c6bf1234 100644 --- a/datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere/template.json +++ b/datasets/met-office/collection/met-office-global-deterministic-whole-atmosphere/template.json @@ -205,12 +205,12 @@ }, "stac_version": "1.0.0", "msft:group_id": "metoffice", - "msft:container": "", + "msft:container": "staging", "stac_extensions": [ "https://stac-extensions.github.io/forecast/v0.2.0/schema.json", "https://stac-extensions.github.io/datacube/v2.0.0/schema.json" ], - "msft:storage_account": "metofficeeuwest", + "msft:storage_account": "ukmoeuwest", "msft:short_description": "Met Office Global Deterministic Whole Atmosphere Level", "msft:region": "westeurope" } diff --git a/datasets/met-office/collection/met-office-uk-deterministic-height/template.json b/datasets/met-office/collection/met-office-uk-deterministic-height/template.json index 69276115..cb6a5df9 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-height/template.json +++ b/datasets/met-office/collection/met-office-uk-deterministic-height/template.json @@ -98,12 +98,12 @@ }, "stac_version": "1.0.0", "msft:group_id": "metoffice", - "msft:container": "", + "msft:container": "staging", "stac_extensions": [ "https://stac-extensions.github.io/forecast/v0.2.0/schema.json", "https://stac-extensions.github.io/datacube/v2.0.0/schema.json" ], - "msft:storage_account": "metofficeeuwest", + "msft:storage_account": "ukmoeuwest", "msft:short_description": "Met Office UK Deterministic Height Level", "msft:region": "westeurope" } diff --git a/datasets/met-office/collection/met-office-uk-deterministic-near-surface/template.json b/datasets/met-office/collection/met-office-uk-deterministic-near-surface/template.json index 063a8e74..875c9678 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-near-surface/template.json +++ b/datasets/met-office/collection/met-office-uk-deterministic-near-surface/template.json @@ -479,12 +479,12 @@ }, "stac_version": "1.0.0", "msft:group_id": "metoffice", - "msft:container": "", + "msft:container": "staging", "stac_extensions": [ "https://stac-extensions.github.io/forecast/v0.2.0/schema.json", "https://stac-extensions.github.io/datacube/v2.0.0/schema.json" ], - "msft:storage_account": "metofficeeuwest", + "msft:storage_account": "ukmoeuwest", "msft:short_description": "Met Office UK Deterministic Near Surface Level", "msft:region": "westeurope" } diff --git a/datasets/met-office/collection/met-office-uk-deterministic-pressure/template.json b/datasets/met-office/collection/met-office-uk-deterministic-pressure/template.json index 2885978f..70a80cc8 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-pressure/template.json +++ b/datasets/met-office/collection/met-office-uk-deterministic-pressure/template.json @@ -135,12 +135,12 @@ }, "stac_version": "1.0.0", "msft:group_id": "metoffice", - "msft:container": "", + "msft:container": "staging", "stac_extensions": [ "https://stac-extensions.github.io/forecast/v0.2.0/schema.json", "https://stac-extensions.github.io/datacube/v2.0.0/schema.json" ], - "msft:storage_account": "metofficeeuwest", + "msft:storage_account": "ukmoeuwest", "msft:short_description": "Met Office UK Deterministic Pressure Level", "msft:region": "westeurope" } diff --git a/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere/template.json b/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere/template.json index e1ea5a00..99a661c4 100644 --- a/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere/template.json +++ b/datasets/met-office/collection/met-office-uk-deterministic-whole-atmosphere/template.json @@ -169,12 +169,12 @@ }, "stac_version": "1.0.0", "msft:group_id": "metoffice", - "msft:container": "", + "msft:container": "staging", "stac_extensions": [ "https://stac-extensions.github.io/forecast/v0.2.0/schema.json", "https://stac-extensions.github.io/datacube/v2.0.0/schema.json" ], - "msft:storage_account": "metofficeeuwest", + "msft:storage_account": "ukmoeuwest", "msft:short_description": "Met Office UK Deterministic Whole Atmosphere Level", "msft:region": "westeurope" } From b179beee4ce92481a066e704baaa5b570b165062 Mon Sep 17 00:00:00 2001 From: Pete Gadomski Date: Fri, 12 Dec 2025 05:27:15 -0700 Subject: [PATCH 28/28] fix: use .updated files --- datasets/met-office/dataset.yaml | 56 ++++++++++++++++------------ datasets/met-office/met_office.py | 21 +++++++++-- datasets/met-office/requirements.txt | 2 +- 3 files changed, 51 insertions(+), 28 deletions(-) diff --git a/datasets/met-office/dataset.yaml b/datasets/met-office/dataset.yaml index 2977dc18..b84858ff 100644 --- a/datasets/met-office/dataset.yaml +++ b/datasets/met-office/dataset.yaml @@ -20,10 +20,11 @@ collections: - uri: blob://ukmoeuwest/staging/global/height chunks: options: - min_depth: 0 - max_depth: 0 + min_depth: 1 + max_depth: 1 + extensions: + - .updated chunk_length: 20000 - list_folders: true chunk_storage: uri: blob://ukmoeuwest/staging/staging-chunks/ - id: met-office-global-deterministic-near-surface @@ -33,10 +34,11 @@ collections: - uri: blob://ukmoeuwest/staging/global/near-surface chunks: options: - min_depth: 0 - max_depth: 0 + min_depth: 1 + max_depth: 1 + extensions: + - .updated chunk_length: 20000 - list_folders: true chunk_storage: uri: blob://ukmoeuwest/staging/staging-chunks/ - id: met-office-global-deterministic-pressure @@ -46,10 +48,11 @@ collections: - uri: blob://ukmoeuwest/staging/global/pressure chunks: options: - min_depth: 0 - max_depth: 0 + min_depth: 1 + max_depth: 1 + extensions: + - .updated chunk_length: 20000 - list_folders: true chunk_storage: uri: blob://ukmoeuwest/staging/staging-chunks/ - id: met-office-global-deterministic-whole-atmosphere @@ -59,10 +62,11 @@ collections: - uri: blob://ukmoeuwest/staging/global/whole-atmosphere chunks: options: - min_depth: 0 - max_depth: 0 + min_depth: 1 + max_depth: 1 + extensions: + - .updated chunk_length: 20000 - list_folders: true chunk_storage: uri: blob://ukmoeuwest/staging/staging-chunks/ - id: met-office-uk-deterministic-height @@ -72,10 +76,11 @@ collections: - uri: blob://ukmoeuwest/staging/uk/height chunks: options: - min_depth: 0 - max_depth: 0 + min_depth: 1 + max_depth: 1 + extensions: + - .updated chunk_length: 20000 - list_folders: true chunk_storage: uri: blob://ukmoeuwest/staging/staging-chunks/ - id: met-office-uk-deterministic-near-surface @@ -85,10 +90,11 @@ collections: - uri: blob://ukmoeuwest/staging/uk/near-surface chunks: options: - min_depth: 0 - max_depth: 0 + min_depth: 1 + max_depth: 1 + extensions: + - .updated chunk_length: 20000 - list_folders: true chunk_storage: uri: blob://ukmoeuwest/staging/staging-chunks/ - id: met-office-uk-deterministic-pressure @@ -98,10 +104,11 @@ collections: - uri: blob://ukmoeuwest/staging/uk/pressure chunks: options: - min_depth: 0 - max_depth: 0 + min_depth: 1 + max_depth: 1 + extensions: + - .updated chunk_length: 20000 - list_folders: true chunk_storage: uri: blob://ukmoeuwest/staging/staging-chunks/ - id: met-office-uk-deterministic-whole-atmosphere @@ -111,9 +118,10 @@ collections: - uri: blob://ukmoeuwest/staging/uk/whole-atmosphere chunks: options: - min_depth: 0 - max_depth: 0 + min_depth: 1 + max_depth: 1 + extensions: + - .updated chunk_length: 20000 - list_folders: true chunk_storage: uri: blob://ukmoeuwest/staging/staging-chunks/ diff --git a/datasets/met-office/met_office.py b/datasets/met-office/met_office.py index a8aadeea..0a4cbec3 100644 --- a/datasets/met-office/met_office.py +++ b/datasets/met-office/met_office.py @@ -24,11 +24,26 @@ class MetOfficeCollection(Collection): def create_item( cls, asset_uri: str, storage_factory: StorageFactory ) -> Union[list[Item], WaitTaskResult]: - logger.info(f"Creating items for {asset_uri}") - storage = storage_factory.get_storage(asset_uri) - hrefs = list(storage.get_url(path) for path in storage.list_files()) + logger.info(f"Found sentinel file: {asset_uri}") + parts = asset_uri.split("/") + storage_uri = "/".join(parts[0:-1]) + item_id = parts[-1].split(".")[0] + storage = storage_factory.get_storage(storage_uri) + logger.info(f"Listing {storage_uri} for item {item_id}") + hrefs = list( + storage.get_url(path) + for path in storage.list_files(name_starts_with=item_id, extensions=[".nc"]) + ) logger.info(f"Found {len(hrefs)} hrefs") + # Should only create one items = stac.create_items(hrefs, model=cls.model, theme=cls.theme) + if len(items) > 1: + logger.warning( + f"Expected to only create 1 item, but created {len(items)} instead. Ids: {', '.join(item.id for item in items)}" + ) + logger.info(f"Deleting sentinel file: {asset_uri}") + blob_client, path = storage_factory.get_storage_for_file(asset_uri) + blob_client.delete_file(path) return items diff --git a/datasets/met-office/requirements.txt b/datasets/met-office/requirements.txt index 4fdd82a6..e923ea9a 100644 --- a/datasets/met-office/requirements.txt +++ b/datasets/met-office/requirements.txt @@ -1 +1 @@ -stactools-met-office-deterministic==0.3.0 +stactools-met-office-deterministic==0.3.2