Skip to content
Merged

sync #169

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions paper.bib
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,28 @@ @article{Veldkamp1996
doi = {10.1016/0304-3800(94)00151-0}
}

@article{Moreira2009,
author = {Moreira, Evaldinolia and Costa, Sérgio and Aguiar, Ana Paula and
Câmara, Gilberto and Carneiro, Tiago},
title = {Dynamical coupling of multiscale land change models},
journal = {Landscape Ecology},
volume = {24},
number = {9},
pages = {1183--1194},
year = {2009},
doi = {10.1007/s10980-009-9397-x}
}

@software{LuccME,
author = {Aguiar, Ana Paula Dutra and Carneiro, Tiago G. S. and
Costa, Sérgio Souza and Moreira, Evaldinolia and
Câmara, Gilberto},
title = {{LuccME}: a {TerraME}-based framework for spatially explicit
land use and cover change modeling},
publisher = {GitHub},
url = {https://github.com/terrame/luccme}
}

@inproceedings{Costa2009,
title = {Common Concepts to Development of the Top-Down Models of Land Changes},
author = {Costa, Sérgio Souza and Aguiar, Ana Paula Dutra and Câmara, Gilberto and Moreira, Evaldinolia},
Expand Down
71 changes: 36 additions & 35 deletions paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,13 +52,13 @@ available through the DisSModel GitHub organisation and on PyPI.
## Statement of Need

Python has become the lingua franca for geospatial data science, supported by
libraries such as GeoPandas and PySAL — but these tools are designed for static
analysis. Dynamic spatial modeling, simulating how landscapes evolve over time,
has historically required specialised platforms. In Brazil, TerraME [@Carneiro2013]
and Dinamica EGO are the most widely adopted general-purpose frameworks, while
libraries such as GeoPandas and PySAL — but these tools target static analysis.
Dynamic spatial modeling, simulating how landscapes evolve over time, has
historically required specialised platforms. In Brazil, TerraME [@Carneiro2013] and
Dinamica EGO are the most widely adopted general-purpose frameworks, while
institutions elsewhere rely on narrower allocation models such as CLUE and CLUE-S
[@Veldkamp1996]. This fragmentation leaves researchers choosing between a
Lua-based toolchain and single-purpose implementations with no shared contract.
[@Veldkamp1996]. This fragmentation leaves researchers choosing between a Lua-based
toolchain and single-purpose implementations with no shared contract.

While TerraME is conceptually robust, its reliance on Lua — a language with far
smaller adoption in data science than Python — creates a barrier for data
Expand Down Expand Up @@ -108,7 +108,7 @@ neighbourhoods [@Rey2021], and a raster substrate (`RasterModel`,
`focal_sum`, `neighbor_contact`) replacing cell-by-cell loops. **Executor** defines
the `ModelExecutor` four-phase lifecycle (`validate`, `load`, `run`, `save`);
subclasses self-register via `__init_subclass__`, and every run produces an
`ExperimentRecord` capturing input checksum, parameters, timing, and output paths.
`ExperimentRecord` with input checksum, parameters, timing, and output paths.
**IO** provides a unified dataset abstraction (`load_dataset` / `save_dataset`)
across GeoDataFrame, GeoTIFF, and Xarray/Zarr, with transparent `s3://`
resolution. **Visualization** integrates Matplotlib, Streamlit-compatible widgets,
Expand Down Expand Up @@ -151,10 +151,10 @@ validates the raster implementation against TerraME over the Maranhão Island
dataset (50,496 cells, 19 steps): land use and soil match exactly at every
checkpoint (MAE 0, max error 0), and elevation on 97.3% of cells within 1 mm
(MAE 0.00068 m) — match percentage being the appropriate metric for categorical
outputs [@PontiusEtAl2011]. In this scenario the flood component triggers no land-use
transition and the golden files confirm TerraME behaves identically, so the
outputs [@PontiusEtAl2011]. In this scenario the flood component triggers no
land-use transition and the golden files confirm TerraME does the same, so the
agreement above exercises mangrove migration; flooding is covered separately under
the original laboratory parameters. Reproducible via
the laboratory parameters. Reproducible via
`brmangue-dissmodel/src/brmangue/executors/validation_executor.py` (`end_time=19`)
against the committed golden CSVs in `tests/fixtures/golden/`, with
`tests/test_model_invariants.py` and `tests/test_transition_rules.py` covering
Expand All @@ -180,32 +180,33 @@ allocation [@PontiusMillones2011]. The raster substrate is 3.9× faster (44.0 ms
172.8 ms/step). Reproducible via
`disslucc-continuous/tests/test_benchmark_validation.py`, with
`tests/test_benchmark_discriminance.py` confirming that perturbing the regression
coefficients breaks the tolerance criterion. Full end-to-end provenance from raw
inputs to final metrics is addressed by the `dissmodel-platform` satellite
package.
coefficients breaks the tolerance criterion. End-to-end provenance from raw inputs
to final metrics is addressed by the `dissmodel-platform` package.

## Research Impact Statement

DisSModel's scientific lineage is rooted in the TerraME/LuccME research program at
INPE. The submitting author conducted doctoral research at INPE under Prof.
Gilberto Câmara and Dr. Ana Paula Dutra Aguiar — principal architects of
TerraME/LuccME — and has co-authored the LuccME modeling framework since 2009 [@Costa2009]. On 7 May 2026, DisSModel
was presented at INPE's Graduate Program in Applied Computing seminar series
(recording: https://youtu.be/o7pMJt0CvXU), connecting the framework to the
institutional community that maintains TerraME and LuccME.
TerraME/LuccME — and has co-authored the modeling program since 2009
[@Moreira2009; @Costa2009]; the DisSLUCC packages reimplement in Python the
continuous and discrete allocation components of that lineage [@LuccME]. On
7 May 2026, DisSModel was presented at INPE's Graduate Program in Applied
Computing seminar series (recording: https://youtu.be/o7pMJt0CvXU), connecting
the framework to the institutional community that maintains TerraME and LuccME.

The framework is in active use across two UFMA research groups. Within LambdaGeo,
graduate students develop `disslucc-continuous` and `brmangue-dissmodel` as part of
their Master's research. Independently, Prof. Denilson da Silva Bezerra (UFMA,
former INPE), whose doctoral work established BR-MANGUE's scientific foundation
graduate students develop `disslucc-continuous` and `brmangue-dissmodel` in their
Master's research. Independently, Prof. Denilson da Silva Bezerra (UFMA, former
INPE), whose doctoral work established BR-MANGUE's scientific foundation
[@Bezerra2013], uses the DisSModel reimplementation in his own coastal dynamics
research program (PVCBS4959-2025, PVCBS4960-2025;
program (PVCBS4959-2025, PVCBS4960-2025;
https://sigaa.ufma.br/sigaa/public/docente/pesquisa.jsf?siape=3104707), a
collaboration predating DisSModel itself [@Bezerra2025BM].

Starting August 2026, the project receives its first PIBIC-funded undergraduate
research fellows, under approved institutional project PVCET5136-2026 at
UFMA. The concentrated 2026 development effort was oriented toward this milestone:
Starting August 2026, the project receives its first undergraduate research
fellows, funded by UFMA and by CNPq, one of them supervised by a collaborating
faculty member. The 2026 development effort was oriented toward this milestone:
stabilizing the `ModelExecutor` contract so each fellow can own an independent
repository — `disslucc-continuous`, `disslucc-discrete`, `brmangue-dissmodel`, or
`disscube` (a data-cube layer, the Python successor to TerraME's
Expand All @@ -214,18 +215,18 @@ repository — `disslucc-continuous`, `disslucc-discrete`, `brmangue-dissmodel`,
Since the original submission, development has continued with `disslucc-discrete`
[@DisSLUCCDiscrete], a CLUE-S-like discrete allocation package using logistic
regression — the discrete counterpart to `DisSLUCC-Continuous`. An initial version
has been validated against the Lab6 case study (Moju municipality, 5,914 cells, 6
steps) from the original TerraME/LuccME repository, reaching cell-for-cell
has been validated against the Lab15 case study (Moju municipality, 5,914 cells,
6 steps) from the reference LuccME implementation [@LuccME], reaching cell-for-cell
agreement — zero quantity and zero allocation disagreement [@PontiusMillones2011] — at
56.8 ms/step. A shipped discriminance test shows this scenario is also reproduced
by a trivial static ranking, so it validates coefficient transcription rather than
the allocation algorithm; a dynamic-covariate scenario is planned.
56.8 ms/step. A shipped discriminance test shows this scenario is also reproduced by a trivial
static ranking, so it validates coefficient transcription rather than the
allocation algorithm; a dynamic-covariate scenario is planned.

These packages — `dissmodel-ca`, `dissmodel-sysdyn`, `DisSLUCC-Continuous`,
`disslucc-discrete`, and `brmangue-dissmodel` — demonstrate that the
`ModelExecutor` contract generalizes across modeling paradigms without core
modifications. Studies such as @Bezerra2022, developed using LuccME, represent the
class of models the DisSLUCC packages are designed to reproduce. A roadmap toward
modifications. Studies such as @Bezerra2022, developed using LuccME, are the class
of models the DisSLUCC packages aim to reproduce. A roadmap toward
DisSModel 1.0 (May 2027) anchors community outreach including an open textbook,
*Geospatial Modeling with Python*
(https://lambdageo.github.io/geospatial-modeling-python/), already in progress.
Expand Down Expand Up @@ -257,9 +258,9 @@ validation routines against the original TerraME scripts. AI tools also assisted
with writing in English, not the submitting author's native language. The
scientific design — the TerraME compatibility contract, executor pattern,
dual-substrate architecture, and validation methodology — predates and is
independent of this AI-assisted phase, tracing to the submitting author's
doctoral research at INPE and the undergraduate thesis cited above. AI tools
assisted with implementation velocity and language clarity, not scientific or
architectural decisions. All outputs were reviewed and validated by the authors.
independent of this AI-assisted phase, tracing to the submitting author's doctoral
research at INPE and the undergraduate thesis cited above. AI assisted with
implementation velocity and language clarity, not scientific or architectural
decisions. All outputs were reviewed and validated by the authors.

## References
Loading