Skip to content

Feat/6 luccmebr components - #7

Merged
profsergiocosta merged 3 commits into
mainfrom
feat/6-luccmebr-components
Sep 25, 2026
Merged

profsergiocosta merged 3 commits into
mainfrom
feat/6-luccmebr-components

Conversation

@profsergiocosta

Copy link
Copy Markdown
Member

No description provided.

profsergiocosta and others added 3 commits September 24, 2026 22:06
…#6)

The two LuccME components LuccME-BR (Bezerra et al. 2022) is built from,
moved here from profsergiocosta/luccmebr-reconstruction with this package's
interfaces: PotentialSpatialLagRegression, AllocationClueLikeSaturation,
their specs (SpatialLagRegressionSpec, SaturationAllocationSpec) and
RegionalPotentialProtocol. Faithful to LuccME 6244dd4, including the
cumulative constant adaptation, correctCellChange as the Lua writes it
(BACKP carried across cells, so the cell order matters) and TerraME's mxn
default (3 x 3 with the cell) behind the neighbourhood named '11x11'.

Validated against the lab03/lab06 goldens of terrame-docker v0.1.1 (added,
with data/input/csAC_2009.zip): every cell, every year, iterations and
maximum error. The branches those labs never reach are checked against the
original Lua run with lupa (tests/lua/, provisional until terrame-docker
has component-level goldens; see docs/decisions.md).

Lab1/Lab15 results unchanged: 70 passed, 2 xfailed (was 19 + 2).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013J5tswBSmg9MdsAdCbBKYh
)

Runs DemandPreComputedValues + PotentialSpatialLagRegression +
AllocationClueLikeSaturation from a model TOML, so LuccME-BR is a TOML and a
CLI line. Differs from LuccContinuousExecutor where that model needs it:
load() reads a GeoTIFF with named bands (a cellular space built once, as a
raster), falling back to the base's rasterization for vectors; parameters
name their class and region per entry; save_steps writes intermediate steps.

examples/dissmodel-configs/lucc_saturation.toml is lab03;
tests/test_executor_saturation.py runs it through the local CLI and matches
the lab03 golden in 2011 and 2014. 73 passed, 2 xfailed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013J5tswBSmg9MdsAdCbBKYh
…t2d (#6)

LuccExecutorBase.load() now reads a .tif/.tiff source as it is (named
bands, georeference, a check that every land use and driver has a band) and
rasterizes anything else as before; LuccSaturationExecutor no longer
overrides load(). The spatial lag drops its private shift helper for
dissmodel's RasterBackend.shift2d (the Moore neighbourhood is symmetric, so
the sums are unchanged). 73 passed, 2 xfailed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013J5tswBSmg9MdsAdCbBKYh
@profsergiocosta
profsergiocosta merged commit 450f4db into main Sep 25, 2026
4 checks passed
@profsergiocosta
profsergiocosta deleted the feat/6-luccmebr-components branch September 25, 2026 12:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants