From e97783f10210f808209d237b1b23998ad759d59f Mon Sep 17 00:00:00 2001 From: Brayden Youngberg Date: Mon, 29 Jun 2026 19:55:00 +0200 Subject: [PATCH 1/2] feat(glw4-2020): Add glw4 dataset --- records/glw4-2020/record.yaml | 152 ++++++++++++++++++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 records/glw4-2020/record.yaml diff --git a/records/glw4-2020/record.yaml b/records/glw4-2020/record.yaml new file mode 100644 index 0000000..abe57f2 --- /dev/null +++ b/records/glw4-2020/record.yaml @@ -0,0 +1,152 @@ +# yaml-language-server: $schema=../../spec/schemas/profiles/cdh.schema.json +cdh_schema_version: "v0.1.0" + +extensions: + - https://cgiar-climate-data-hub.github.io/cdh-metadata-standard/v0.1.0/extensions/cdh/schema.json + - https://cgiar-climate-data-hub.github.io/cdh-metadata-standard/v0.1.0/extensions/datacube/schema.json + - https://cgiar-climate-data-hub.github.io/cdh-metadata-standard/v0.1.0/extensions/agriculture/schema.json + +id: glw4-2020 +title: Gridded livestock density for 2020 (GLW4) +description: > + Gridded Livestock of the World, version 4 (GLW 4) maps modelled densities of six livestock + species: buffalo, cattle, sheep, goats, pigs, and chickens. This data is for the 2020 reference + year. Densities are estimated with a Random Forest model that downscales harmonized subnational + census counts onto a regular grid, so the values represent modelled distributions rather than + direct observations. All of the values are number of animals per km^2 +license: CC-BY-4.0 +resource_type: dataset + +keywords: + - gridded + - modelled + - exposure + - term: animal husbandry + scheme: https://agrovoc.fao.org/ + uri: http://aims.fao.org/aos/agrovoc/c_8532 +note: > + Values are densities (head/km²), so individual pixel values are valid anywhere. However, the data + are distributed in lat/long (EPSG:4326), where pixel ground area shrinks toward the poles. A + standard lat/long map visually over-represents high-latitude densities, and naive spatial + aggregation (totals, means, zonal statistics) assuming equal-area pixels will be biased. Reproject + to an equal-area projection or weight by true pixel area for visualization and area-based + analysis. + +contact: + - organization: Food and Agriculture Organization of the United Nations + roles: [licensor, producer, processor] + url: https://www.fao.org/home/en/ + - name: Dominik Wisser + roles: [point-of-contact] + email: Dominik.Wisser@fao.org + organization: Food and Agriculture Organization of the United Nations + - name: Giuseppina Cinardi + roles: [point-of-contact] + email: giuseppina.cinardi@fao.org + organization: Food and Agriculture Organization of the United Nations + - name: Brayden Youngberg + roles: [processor, point-of-contact] + email: b.youngberg@cgiar.org + organization: The Alliance of Bioversity International and CIAT + +citation: + title: "GLW 4: Gridded Livestock Density (Global - 2020 - 10 km)" + authors: + - Food and Agriculture Organization of the United Nations + date: "2024" + publisher: FAO Agro-Informatic Data Catalog + url: https://data.apps.fao.org/catalog/dataset/9d1e149b-d63f-4213-978b-317a8eb42d02 +related_publications: + - doi: 10.1371/journal.pone.0133381 + +# metadata tracking +created: "2026-06-23" +updated: "2026-06-23" + +spatial: + bbox: [-180.0, -90.0, 180.0, 90.0] + geography: [world] + crs: EPSG:4326 + resolution: + - type: xy + unit: degree + value: 0.08333333 + label: 5 arc-minutes (~10km at equator) + +temporal: + start_date: "2020-01-01" + end_date: "2020-12-31" + resolution: + unit: year + step: P1Y + note: Static data for 2020 reference year + +dimensions: + - name: species + type: species + description: The livestock species for which the data is provided + values: [buffalo, cattle, chicken, goat, pig, sheep] + +variables: + - name: Livestock Density + description: Number of livestock per km2 + data_type: float32 + unit: "{head}/km-1" + +cdh: + use_cases: + - Livestock exposure to hazards + - Comparing livestock densities across systems or regions + not_recommended_for: + - use: Exact livestock counts + reason: Values are spatially modeled estimates derived from census and other data + use_instead: Official livestock census counts where available + domain: [agricultural-production] + +commodities: [livestock, buffalo, cattle, chickens, goats, swine, sheep] + +processing: + - id: source + description: Original GLW 4 release + date: "2024-07-15" + derived_from: + - url: https://data.apps.fao.org/catalog//iso/9d1e149b-d63f-4213-978b-317a8eb42d02 + title: GLW 4 2020 + - id: cloud-optimize + description: Optimize data for cloud storage + date: "2026-06-23" + code: + url: https://github.com/CGIAR-Climate-Data-Hub/cdh-data-pipeline/blob/main/recipes/glw4.py + version: "885ed96" + +data: + - name: Zarr + locations: + - url: https://digital-atlas.s3.amazonaws.com/cdh/data/glw4-2020/glw4-2020.zarr + title: HTTPS + - url: s3://digital-atlas/cdh/data/glw4-2020/glw4-2020.zarr + title: S3 + processing_steps: [cloud-optimize] + description: Zarr store of GLW 4 2020 + nodata: "NaN" + media_type: application/vnd.zarr; version=3 + file_size: 31.1 MB + - name: cogs + locations: + - url: https://digital-atlas.s3.amazonaws.com/cdh/data/glw4-2020/cogs/ + title: HTTPS + - url: s3://digital-atlas/cdh/data/glw4-2020/cogs/ + title: S3 + href_template: "glw4-2020-{species}.tif" + processing_steps: [cloud-optimize] + description: Cloud-optimized GeoTIFFs of GLW 4 2020 + nodata: -3.4028235e+38 + media_type: "image/tiff; application=geotiff; profile=cloud-optimized" + +additional_links: + - name: FAO Livestock Distributions + rel: related + url: https://www.fao.org/livestock-systems/global-distributions/en/ + - name: FAOSTAT Crop and Livestock Production + rel: related + url: https://www.fao.org/faostat/en/#data/QCL From 4d1b184bf16e00c2c550388d6c8b75d11ceedb7d Mon Sep 17 00:00:00 2001 From: Brayden Youngberg <96275377+bjyberg@users.noreply.github.com> Date: Fri, 10 Jul 2026 19:55:37 +0200 Subject: [PATCH 2/2] Update pull request trigger to validate all records Removed path restriction for pull request trigger. --- .github/workflows/validate-records.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/validate-records.yaml b/.github/workflows/validate-records.yaml index b3de2c4..1932cb9 100644 --- a/.github/workflows/validate-records.yaml +++ b/.github/workflows/validate-records.yaml @@ -2,8 +2,6 @@ name: Validate records on: pull_request: - paths: - - "records/**" permissions: contents: read