Skip to content

18 reporting areas have no cell in either 0.5-degree grid; the fractional crosswalk cannot rescue them #695

Description

@lbm364dl

#461 opened on the premise that "small polities whose land area is smaller than
a 0.5° cell and whose polygon never contains a cell centroid get ZERO cells",
and proposed the fractional cell-coverage crosswalk as the fix. The
fractional crosswalk cannot fix it
, because
build_cell_polity_fraction() ends with

grid_cells <- unique(data.table::as.data.table(country_grid)[, .(lon, lat)])
counts <- merge(counts, grid_cells, by = c("lon", "lat"))
# "restricted crosswalk to the simulated grid"

(inst/scripts/prepare_spatialize_all.R:1153-1163) — it is a subset of the
centroid grid's cells, holding 0 cells the centroid grid lacks and 4 fewer.
Anything the centroid grid cannot see, it cannot see either.

Who is affected. At 2015, 24 reporting areas carry national harvested area
and receive a zero allocation. 18 of them have no cell in either grid:

code area ha (2015)
55 Dominica 26,026
906 (aggregate) 17,323
219 Tonga 16,405
134 Malta 12,154
86 Grenada 10,980
14 Barbados 5,641
13 Bahrain 4,690
132 Maldives 3,854
189 Saint Lucia 3,102
145 Micronesia (Fed. States of) 3,021
8 Antigua and Barbuda 2,305
200 Singapore 1,362
196 Seychelles 998
188 Saint Kitts and Nevis 632
227 Tuvalu 178
128 China, Macao SAR 130
903 (aggregate) 97
148 Nauru 90

Total 0.109 Mha — 0.008% of global harvested area, but 100% of Malta's and
Singapore's
. The other 6 (Mauritius 137, Samoa 244, Qatar 179, French
Polynesia 70, Kiribati 83, Iceland 99) do have cells in both grids and receive
nothing for a different reason: no cropland or no crop-pattern hectares in
those cells.

Since #461 this is reported once per call by .warn_grid_missing_reporters()
with the hectares at stake, so it is visible rather than buried in a 178-code
per-crop warning. It is not fixed.

Options, none of them free — this needs a decision, not a patch:

  1. Accept it, documented. 0.5° cannot resolve a 300 km² state; the
    allocation simply does not exist at this resolution. The national totals stay
    in the non-gridded chain.
  2. Stop restricting to the simulated grid, so a fractional polygon draws a
    cell even where LPJmL simulates nothing. The restriction exists for a reason
    (build_cell_polity_fraction() is orphaned and broken; its output grid also injects NaN drainage into build_water_balance() #381: unsimulated cells arrive downstream with non-finite drainage), so this
    trades one silent failure for another.
  3. Assign each such polity its nearest simulated cell as an explicit,
    recorded fallback. Over-counts its land by roughly 10-30× — Feed crop/livestock spatialize the fractional cell-coverage grid, not the centroid grid #461 records
    French Polynesia at ~13×, Kiribati ~34×, Micronesia ~18×, Maldives ~10× —
    which is defensible for a share but not for an area denominator.

#619's polycell work reconciles polity areas against FAOSTAT and reports
Kiribati drawing 34.3× its official area under the old crosswalk and 1.18×
after, so option 3's cost is already measured there; whichever option is taken
should be consistent with it.

Moves published values: options 2 and 3 do. Option 1 does not.

Part of the polity migration epic #458.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:regionsRegions, countries, polities: harmonization & modelingarea:spatializeSpatial disaggregationbugSomething isn't workingneeds-expertEmbeds a methodological/scientific decision. Do not merge on green CI alone; tag an expert.priority:mediumThis is something to keep in mind

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions