Skip to content

[Deferred] Standalone OG-Core modelling layer (future work) #470

@Adityakushwaha2006

Description

@Adityakushwaha2006

What this adds

Backend support to run OG-Core inside MUIOGO as an independent modelling layer, with its own case
management, parameter handling, execution pipeline, and result retrieval. No coupling to CLEWS in
this scope.
OG-Core runs entirely on its own (Standalone , Uncoupled , Non-iterative)

Frontend is handled separately; this defines the API contract it will consume.

Scope

  • OG-Core case and run management (CRUD), isolated from CLEWS storage.
  • Per-run parameter persistence, including tax-function specifications that cannot be represented as JSON.
  • Baseline and reform runs, with correct enforcement of the dependency a reform has on its baseline.
  • Local execution covering steady state and (optionally) the full transition path, with run status tracking.
  • Result retrieval: raw variables, OG-Core's standard analysis tables (macro aggregates, inequality,
    wealth distribution, revenue decomposition, time series), and a downloadable CSV export.
  • Parameter schema endpoint so the frontend can build forms without hard-coding parameter metadata.
  • Case backup and restore.

Constraints

  • Non-destructive: no changes to existing OSeMOSYS/CLEWS routes, classes, or stored data.
  • OG-Core must use its own namespace - endpoints, session key, storage folder, JSON key prefix - so it
    cannot collide with CLEWS cases.
  • OG-Core runs as a locally installed Python package.
  • Follow existing MUIOGO conventions for path security, response shape, and error handling.
  • Pin an OG-Core version, update the Python requirement accordingly.

Acceptance criteria

  • OG-Core cases and runs are fully independent of CLEWS.
  • Baseline and reform runs can be configured, executed, and their results retrieved.
  • OG-Core's own validation messages are surfaced cleanly to the caller on bad input.
  • The existing CLEWS test suite passes without modification.
  • Results through MUIOGO match results from running OG-Core directly with the same inputs.

Out of scope

  • OG-Core/CLEWS coupling (planned separately).
  • Frontend UI.
  • Any changes to OSeMOSYS/CLEWS logic.

References

Metadata

Metadata

Labels

DeferredNot prioritized for now; revisit laterTrack: IntegrationOG-Core, coupled workflows, and integration work
No fields configured for Feature.

Projects

Status
In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions