Skip to content

Move GlobalDiffEq.jl into the monorepo as lib/GlobalDiffEq (repo transfer)#3929

Merged
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:globaldiffeq-sublibrary
Jul 22, 2026
Merged

Move GlobalDiffEq.jl into the monorepo as lib/GlobalDiffEq (repo transfer)#3929
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:globaldiffeq-sublibrary

Conversation

@ChrisRackauckas-Claude

@ChrisRackauckas-Claude ChrisRackauckas-Claude commented Jul 17, 2026

Copy link
Copy Markdown
Member

Important

Ignore this PR until it has been reviewed by @ChrisRackauckas.

Summary

Repo transfer only: moves GlobalDiffEq.jl into the monorepo as the sublibrary lib/GlobalDiffEq, keeping its name, UUID, and registration lineage (like DelayDiffEq/StochasticDiffEq). No new methods — the package content is GlobalDiffEq.jl master (GlobalRichardson), adapted to monorepo conventions:

  • [sources] path deps on DiffEqBase and OrdinaryDiffEqTsit5; the dependency on the OrdinaryDiffEq umbrella is replaced by OrdinaryDiffEqTsit5 (only used by the precompile workload and tests), so the sublibrary does not depend on the whole umbrella.
  • Test groups Core (lts/1/pre) + QA (lts/1) via test/test_groups.toml, picked up by the standard sublibrary CI; the group env var is ODEDIFFEQ_TEST_GROUP.
  • Docs: new "Global Error Control" section (docs/src/globalerrorcontrol/GlobalDiffEq.md); GlobalDiffEq added to docs/Project.toml (path source) and docs/make.jl modules. The QA group's rendered-API-docs check points at the monorepo docs/src with reexported DiffEqBase names excluded (they are documented at their owners), so "public and documented" stays enforced.
  • Version 1.2.1 (no API change).

This is the base of a stacked series that implements the methods from the GlobalDiffEq.jl issue tracker, one feature per PR:

  1. this PR — repo transfer
  2. GlobalDiffEq: add adjoint-based global error control as a SciMLSensitivity extension #3953 — adjoint-based global error control (Add adjoint-based global error control GlobalDiffEq.jl#56, as a package extension)
  3. GlobalDiffEq: add GLEE23/GLEE24/GLEE35 global-error-estimating solvers #3954 — GLEE solvers (Constantinescu 2016; Specialized RK triples for global error control GlobalDiffEq.jl#6, Global error estimation in time stepping GlobalDiffEq.jl#22)
  4. GlobalDiffEq: add the Makazaga-Murua MM5GEE solver #3955 — MM5GEE (Makazaga–Murua 2003; Specialized RK triples for global error control GlobalDiffEq.jl#6)
  5. GlobalDiffEq: add GlobalErrorTransport global error estimation and control #3956 — GlobalErrorTransport (Jacobian-based global error estimators GlobalDiffEq.jl#5)
  6. GlobalDiffEq: add GlobalDefectCorrection global error estimation and control #3957 — GlobalDefectCorrection (Expansion methods for global error control GlobalDiffEq.jl#3)

Once the series merges, SciML/GlobalDiffEq.jl can be archived pointing here.

Validation (run locally)

  • ODEDIFFEQ_TEST_GROUP=Core julia --project=lib/GlobalDiffEq -e 'using Pkg; Pkg.test()': pass — Basic functionality 1/1, Algorithm traits 3/3, BigFloat 2/2
  • ODEDIFFEQ_TEST_GROUP=QA julia --project=lib/GlobalDiffEq -e 'using Pkg; Pkg.test()': pass — 22 passed, 1 pre-existing declared broken (no_implicit_imports from the deliberate @reexport, QA: ExplicitImports no_implicit_imports broken (deliberate @reexport using DiffEqBase) GlobalDiffEq.jl#53)
  • julia --project=docs -e 'using Pkg; Pkg.instantiate()' resolves with the new path source.
  • Runic.jl (v1.5.1) run over the sublibrary and touched docs files.

🤖 Generated with Claude Code

https://claude.ai/code/session_01MfUh8tgp3iBmMv9nkBqoyY

Repo transfer of SciML/GlobalDiffEq.jl (GlobalRichardson), keeping its
name, UUID, and version lineage. The umbrella OrdinaryDiffEq dependency
is replaced by OrdinaryDiffEqTsit5 (precompile workload and tests only),
path sources point at the sibling sublibraries, tests read
ODEDIFFEQ_TEST_GROUP, and the rendered-API-docs QA check points at the
monorepo docs with reexported DiffEqBase names excluded. Adds the
Global Error Control docs section and the docs env wiring.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
@ChrisRackauckas-Claude ChrisRackauckas-Claude changed the title Move GlobalDiffEq.jl in as a sublibrary and implement its global error estimation methods Move GlobalDiffEq.jl into the monorepo as lib/GlobalDiffEq (repo transfer) Jul 18, 2026
@ChrisRackauckas
ChrisRackauckas marked this pull request as ready for review July 22, 2026 07:56
@ChrisRackauckas
ChrisRackauckas merged commit af88f3d into SciML:master Jul 22, 2026
119 of 130 checks passed
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