amazon-utac 1.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. amazon_utac-1.0.0/.github/ISSUE_TEMPLATE/bug_report.md +35 -0
  2. amazon_utac-1.0.0/.github/ISSUE_TEMPLATE/feature_request.md +29 -0
  3. amazon_utac-1.0.0/.github/PULL_REQUEST_TEMPLATE.md +31 -0
  4. amazon_utac-1.0.0/.github/workflows/ci.yml +63 -0
  5. amazon_utac-1.0.0/.github/workflows/release.yml +79 -0
  6. amazon_utac-1.0.0/.gitignore +22 -0
  7. amazon_utac-1.0.0/.pre-commit-config.yaml +17 -0
  8. amazon_utac-1.0.0/.zenodo.json +34 -0
  9. amazon_utac-1.0.0/CHANGELOG.md +21 -0
  10. amazon_utac-1.0.0/CITATION.cff +58 -0
  11. amazon_utac-1.0.0/CONTRIBUTING.md +49 -0
  12. amazon_utac-1.0.0/LICENSE +21 -0
  13. amazon_utac-1.0.0/PKG-INFO +117 -0
  14. amazon_utac-1.0.0/README.md +72 -0
  15. amazon_utac-1.0.0/README_QUICKSTART.md +52 -0
  16. amazon_utac-1.0.0/RELEASE_GUIDE.md +44 -0
  17. amazon_utac-1.0.0/data/boulton2022_resilience.yaml +64 -0
  18. amazon_utac-1.0.0/data/lovejoy2019_targets.yaml +97 -0
  19. amazon_utac-1.0.0/data/prodes_annual_summary.yaml +85 -0
  20. amazon_utac-1.0.0/docs/cli.md +88 -0
  21. amazon_utac-1.0.0/docs/index.md +37 -0
  22. amazon_utac-1.0.0/docs/templates.md +111 -0
  23. amazon_utac-1.0.0/mkdocs.yml +43 -0
  24. amazon_utac-1.0.0/pyproject.toml +94 -0
  25. amazon_utac-1.0.0/src/amazon_utac/__init__.py +7 -0
  26. amazon_utac-1.0.0/src/amazon_utac/benchmark.py +204 -0
  27. amazon_utac-1.0.0/src/amazon_utac/constants.py +79 -0
  28. amazon_utac-1.0.0/src/amazon_utac/crep_amazon.py +231 -0
  29. amazon_utac-1.0.0/src/amazon_utac/deforestation.py +215 -0
  30. amazon_utac-1.0.0/src/amazon_utac/ethics_gate.py +238 -0
  31. amazon_utac-1.0.0/src/amazon_utac/forest_cover.py +179 -0
  32. amazon_utac-1.0.0/src/amazon_utac/rainfall.py +156 -0
  33. amazon_utac-1.0.0/src/amazon_utac/resilience.py +204 -0
  34. amazon_utac-1.0.0/src/amazon_utac/savanna_attractor.py +180 -0
  35. amazon_utac-1.0.0/src/amazon_utac/system.py +526 -0
  36. amazon_utac-1.0.0/src/diamond_setup/__init__.py +4 -0
  37. amazon_utac-1.0.0/src/diamond_setup/_types.py +13 -0
  38. amazon_utac-1.0.0/src/diamond_setup/cli.py +183 -0
  39. amazon_utac-1.0.0/src/diamond_setup/preset.py +84 -0
  40. amazon_utac-1.0.0/src/diamond_setup/templates/__init__.py +15 -0
  41. amazon_utac-1.0.0/src/diamond_setup/templates/amazon_utac.py +246 -0
  42. amazon_utac-1.0.0/src/diamond_setup/templates/genesis.py +84 -0
  43. amazon_utac-1.0.0/src/diamond_setup/templates/minimal.py +143 -0
  44. amazon_utac-1.0.0/src/diamond_setup/validator.py +67 -0
  45. amazon_utac-1.0.0/tests/__init__.py +0 -0
  46. amazon_utac-1.0.0/tests/amazon_utac/__init__.py +0 -0
  47. amazon_utac-1.0.0/tests/amazon_utac/test_benchmark.py +185 -0
  48. amazon_utac-1.0.0/tests/amazon_utac/test_diamond_interface.py +191 -0
  49. amazon_utac-1.0.0/tests/amazon_utac/test_dual_attractor.py +145 -0
  50. amazon_utac-1.0.0/tests/amazon_utac/test_forest_cover.py +142 -0
  51. amazon_utac-1.0.0/tests/test_cli.py +101 -0
  52. amazon_utac-1.0.0/tests/test_preset.py +90 -0
  53. amazon_utac-1.0.0/tests/test_validator.py +54 -0
  54. amazon_utac-1.0.0/uv.lock +1210 -0
@@ -0,0 +1,35 @@
1
+ ---
2
+ name: Bug report
3
+ about: Report something that isn't working as expected
4
+ title: "[BUG] "
5
+ labels: bug
6
+ assignees: ""
7
+ ---
8
+
9
+ ## Description
10
+
11
+ A clear and concise description of the bug.
12
+
13
+ ## Steps to reproduce
14
+
15
+ 1. ...
16
+ 2. ...
17
+ 3. ...
18
+
19
+ ## Expected behavior
20
+
21
+ What you expected to happen.
22
+
23
+ ## Actual behavior
24
+
25
+ What actually happened (include full error messages / tracebacks if any).
26
+
27
+ ## Environment
28
+
29
+ - Package version: (`pip show <package-name>` or `git describe --tags`)
30
+ - Python version:
31
+ - OS:
32
+
33
+ ## Additional context
34
+
35
+ Anything else relevant — logs, screenshots, related issues.
@@ -0,0 +1,29 @@
1
+ ---
2
+ name: Feature request
3
+ about: Suggest a new feature, module, or enhancement
4
+ title: "[FEATURE] "
5
+ labels: enhancement
6
+ assignees: ""
7
+ ---
8
+
9
+ ## Summary
10
+
11
+ A clear and concise description of the feature.
12
+
13
+ ## Motivation
14
+
15
+ Why is this needed? What problem does it solve, or what new capability
16
+ does it enable within the GenesisAeon ecosystem?
17
+
18
+ ## Proposed approach
19
+
20
+ How might this be implemented? (Sketches, pseudocode, references to
21
+ related GenesisAeon packages or Diamond Interface methods are welcome.)
22
+
23
+ ## Alternatives considered
24
+
25
+ Any alternative approaches you've thought about.
26
+
27
+ ## Additional context
28
+
29
+ Links to relevant papers, prior discussion, or related issues/PRs.
@@ -0,0 +1,31 @@
1
+ ## Summary
2
+
3
+ What does this PR do, in one or two sentences?
4
+
5
+ ## Related issue(s)
6
+
7
+ Closes #...
8
+
9
+ ## Type of change
10
+
11
+ - [ ] Bug fix
12
+ - [ ] New feature
13
+ - [ ] Breaking change (Diamond Interface or other public API)
14
+ - [ ] Documentation
15
+ - [ ] Tooling / CI / release process
16
+ - [ ] Dependency update
17
+
18
+ ## Checklist
19
+
20
+ - [ ] Tests added/updated and passing locally (`pytest`)
21
+ - [ ] `CHANGELOG.md` updated under `## [Unreleased]`
22
+ - [ ] Documentation updated (README, docstrings, notebooks if relevant)
23
+ - [ ] If this changes `run_cycle` / `get_crep_state` / `get_utac_state` /
24
+ `get_phase_events` / `to_zenodo_record`: noted as a breaking change
25
+ and version bump plan described above
26
+ - [ ] If this touches scientific claims/predictions: sources cited and
27
+ speculative vs. validated status is clear
28
+
29
+ ## Additional notes
30
+
31
+ Anything reviewers should know.
@@ -0,0 +1,63 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: ["main", "master", "claude/**"]
6
+ pull_request:
7
+ branches: ["main", "master"]
8
+
9
+ concurrency:
10
+ group: ${{ github.workflow }}-${{ github.ref }}
11
+ cancel-in-progress: true
12
+
13
+ jobs:
14
+ lint:
15
+ name: Lint (ruff + mypy)
16
+ runs-on: ubuntu-latest
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+ - uses: actions/setup-python@v5
20
+ with:
21
+ python-version: "3.11"
22
+ - name: Install dev dependencies
23
+ run: pip install -e ".[dev]"
24
+ - name: Run ruff
25
+ run: ruff check src tests
26
+ - name: Run mypy
27
+ run: mypy src
28
+
29
+ test:
30
+ name: Tests (Python ${{ matrix.python-version }})
31
+ runs-on: ubuntu-latest
32
+ strategy:
33
+ fail-fast: false
34
+ matrix:
35
+ python-version: ["3.10", "3.11", "3.12"]
36
+ steps:
37
+ - uses: actions/checkout@v4
38
+ - uses: actions/setup-python@v5
39
+ with:
40
+ python-version: ${{ matrix.python-version }}
41
+ - name: Install dependencies
42
+ run: pip install -e ".[dev]"
43
+ - name: Run pytest with coverage
44
+ run: pytest --cov=src --cov-report=xml
45
+ - name: Upload coverage
46
+ if: matrix.python-version == '3.11'
47
+ uses: codecov/codecov-action@v4
48
+ with:
49
+ token: ${{ secrets.CODECOV_TOKEN }}
50
+ files: coverage.xml
51
+
52
+ docs:
53
+ name: Docs (mkdocs --strict)
54
+ runs-on: ubuntu-latest
55
+ steps:
56
+ - uses: actions/checkout@v4
57
+ - uses: actions/setup-python@v5
58
+ with:
59
+ python-version: "3.11"
60
+ - name: Install dev dependencies
61
+ run: pip install -e ".[dev,docs]"
62
+ - name: Build docs
63
+ run: mkdocs build --strict
@@ -0,0 +1,79 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*.*.*"
7
+
8
+ permissions:
9
+ contents: write
10
+ id-token: write
11
+
12
+ jobs:
13
+ build:
14
+ name: Build distribution
15
+ runs-on: ubuntu-latest
16
+ steps:
17
+ - uses: actions/checkout@v4
18
+ with:
19
+ fetch-depth: 0
20
+ - uses: actions/setup-python@v5
21
+ with:
22
+ python-version: "3.11"
23
+ - name: Install build tools
24
+ run: pip install build
25
+ - name: Build wheel and sdist
26
+ run: python -m build
27
+ - name: Upload artifacts
28
+ uses: actions/upload-artifact@v4
29
+ with:
30
+ name: dist
31
+ path: dist/
32
+
33
+ publish-pypi:
34
+ name: Publish to PyPI
35
+ needs: build
36
+ runs-on: ubuntu-latest
37
+ environment:
38
+ name: pypi
39
+ steps:
40
+ - uses: actions/download-artifact@v4
41
+ with:
42
+ name: dist
43
+ path: dist/
44
+ - name: Publish to PyPI
45
+ uses: pypa/gh-action-pypi-publish@release/v1
46
+
47
+ github-release:
48
+ name: Create GitHub Release
49
+ needs: publish-pypi
50
+ runs-on: ubuntu-latest
51
+ steps:
52
+ - uses: actions/checkout@v4
53
+ - uses: actions/download-artifact@v4
54
+ with:
55
+ name: dist
56
+ path: dist/
57
+ - name: Create GitHub Release
58
+ uses: softprops/action-gh-release@v2
59
+ with:
60
+ files: dist/*
61
+ generate_release_notes: true
62
+ draft: false
63
+ prerelease: ${{ contains(github.ref, 'alpha') || contains(github.ref, 'beta') || contains(github.ref, 'rc') }}
64
+
65
+ publish-zenodo:
66
+ name: Publish to Zenodo
67
+ needs: github-release
68
+ runs-on: ubuntu-latest
69
+ steps:
70
+ - uses: actions/checkout@v4
71
+ - name: Upload to Zenodo
72
+ run: |
73
+ echo "Zenodo upload triggered for tag ${{ github.ref_name }}"
74
+ echo "Configure ZENODO_TOKEN secret and zenodraft/action for automatic upload."
75
+ # Replace with actual zenodo-upload action when token is configured:
76
+ # uses: zenodraft/action@main
77
+ # with:
78
+ # concept-doi: 10.5281/zenodo.XXXXXXXX # <- enter your concept DOI
79
+ # token: ${{ secrets.ZENODO_TOKEN }}
@@ -0,0 +1,22 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *.egg-info/
5
+ .eggs/
6
+ dist/
7
+ build/
8
+ .venv/
9
+ .uv/
10
+
11
+ # Testing
12
+ .coverage
13
+ htmlcov/
14
+ .pytest_cache/
15
+
16
+ # Docs
17
+ site/
18
+
19
+ # Editors
20
+ .vscode/
21
+ .idea/
22
+ *.swp
@@ -0,0 +1,17 @@
1
+ repos:
2
+ - repo: https://github.com/astral-sh/ruff-pre-commit
3
+ rev: v0.6.0
4
+ hooks:
5
+ - id: ruff
6
+ args: [--fix]
7
+ - id: ruff-format
8
+
9
+ - repo: https://github.com/pre-commit/pre-commit-hooks
10
+ rev: v4.6.0
11
+ hooks:
12
+ - id: trailing-whitespace
13
+ - id: end-of-file-fixer
14
+ - id: check-yaml
15
+ - id: check-toml
16
+ - id: check-merge-conflict
17
+ - id: debug-statements
@@ -0,0 +1,34 @@
1
+ {
2
+ "title": "amazon-utac — P19: GenesisAeon Package 19 — Amazon Rainforest Savannisation as a UTAC System",
3
+ "description": "<p>UTAC dynamical model of the Amazon rainforest savannisation tipping point, calibrated against Lovejoy &amp; Nobre (2019) and Boulton et al. (2022). Reports Γ_Amazon ≈ 0.116 (LOW-CREP, fragile regime).</p><p>Part of the <strong>GenesisAeon</strong> ecosystem (P19, domain: ecology / rainforest savannisation). Within the GenesisAeon CREP Criticality Spectrum, this package's characteristic coupling value is Γ ≈ 0.116.</p><p>See <a href=\"https://github.com/GenesisAeon/amazon-utac\">github.com/GenesisAeon/amazon-utac</a> for source, documentation, and reproducibility notebooks.</p>",
4
+ "creators": [
5
+ {
6
+ "name": "Römer, Johann",
7
+ "affiliation": "Independent Researcher / MOR Research Collective"
8
+ }
9
+ ],
10
+ "license": "MIT",
11
+ "upload_type": "software",
12
+ "access_right": "open",
13
+ "keywords": [
14
+ "GenesisAeon",
15
+ "P19",
16
+ "ecology",
17
+ "rainforest savannisation",
18
+ "UTAC",
19
+ "CREP",
20
+ "open science"
21
+ ],
22
+ "related_identifiers": [
23
+ {
24
+ "identifier": "10.5281/zenodo.19645351",
25
+ "relation": "isPartOf",
26
+ "resource_type": "publication-article",
27
+ "scheme": "doi"
28
+ }
29
+ ],
30
+ "version": "1.0.0",
31
+ "communities": [
32
+ { "identifier": "genesisaeon" }
33
+ ]
34
+ }
@@ -0,0 +1,21 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/).
7
+
8
+ ## [Unreleased]
9
+
10
+ ## [1.0.0] - 2026
11
+ ### Added
12
+ - Initial v1.0.0 release as part of the GenesisAeon ecosystem-wide 1.0.0
13
+ milestone.
14
+ - Standardized release tooling: `.zenodo.json`, `RELEASE_GUIDE.md`,
15
+ `CONTRIBUTING.md`, issue/PR templates (CI and release workflows already
16
+ existed in this repo).
17
+
18
+ ### Changed
19
+ - `.zenodo.json` metadata normalized to match the package's actual MIT
20
+ license and 1.0.0 version, and aligned with the GenesisAeon ecosystem
21
+ metadata template.
@@ -0,0 +1,58 @@
1
+ cff-version: 1.2.0
2
+ message: >
3
+ If you use this software in your research, please cite it using the metadata below.
4
+ title: "amazon-utac: Amazon Rainforest Savannisation Threshold UTAC Model"
5
+ abstract: >
6
+ GenesisAeon Package 19. Models the Amazon rainforest → savanna tipping
7
+ transition as a UTAC dynamical system with a double-well potential landscape.
8
+ Implements the CREP tensor (C, R, E, P) calibrated against Lovejoy & Nobre
9
+ (2019) and Boulton et al. (2022). Central result: Γ_Amazon ≈ 0.116 (LOW-CREP
10
+ zone). Includes Ethics-Gate Light (Phase H) for responsible scientific output.
11
+ version: "0.1.0"
12
+ date-released: "2026-04-23"
13
+ license: MIT
14
+ repository-code: "https://github.com/GenesisAeon/amazon-utac"
15
+ doi: "10.5281/zenodo.19645351"
16
+ keywords:
17
+ - amazon
18
+ - deforestation
19
+ - tipping point
20
+ - savannisation
21
+ - UTAC
22
+ - CREP
23
+ - GenesisAeon
24
+ - forest resilience
25
+ - critical slowing down
26
+ authors:
27
+ - name: "MOR Research Collective / GenesisAeon"
28
+ email: "genesisaeon@example.org"
29
+ references:
30
+ - type: article
31
+ title: "Amazon tipping point: Last chance for action"
32
+ authors:
33
+ - family-names: Lovejoy
34
+ given-names: Thomas E.
35
+ - family-names: Nobre
36
+ given-names: Carlos A.
37
+ journal: "Science Advances"
38
+ volume: 5
39
+ issue: 12
40
+ year: 2019
41
+ doi: "10.1126/sciadv.aba2949"
42
+ - type: article
43
+ title: "Pronounced loss of Amazon rainforest resilience since the early 2000s"
44
+ authors:
45
+ - family-names: Boulton
46
+ given-names: Chris A.
47
+ - family-names: Lenton
48
+ given-names: Timothy M.
49
+ - family-names: Boers
50
+ given-names: Niklas
51
+ journal: "Nature Climate Change"
52
+ volume: 12
53
+ pages: "271-278"
54
+ year: 2022
55
+ doi: "10.1038/s41558-022-01287-8"
56
+ - type: software
57
+ title: "Boulton et al. 2022 — Resilience dataset"
58
+ doi: "10.5281/zenodo.5831935"
@@ -0,0 +1,49 @@
1
+ # Contributing
2
+
3
+ Thanks for your interest in contributing to this GenesisAeon ecosystem
4
+ package!
5
+
6
+ ## Getting started
7
+
8
+ 1. Fork and clone the repository.
9
+ 2. Create a virtual environment: `python -m venv .venv && source .venv/bin/activate`
10
+ (or `.venv\Scripts\activate` on Windows).
11
+ 3. Install in editable mode with dev dependencies:
12
+ `pip install -e ".[dev]"` (or `.[test]` if `dev` extras don't exist).
13
+ 4. Run the test suite: `pytest`.
14
+
15
+ ## Code style
16
+
17
+ - Format with `ruff format` and lint with `ruff check`.
18
+ - Type-check with `mypy` where the package uses type hints.
19
+ - Keep functions documented with docstrings (Google or NumPy style,
20
+ whichever this repo already uses).
21
+
22
+ ## Diamond Interface packages
23
+
24
+ If this package implements the GenesisAeon Diamond Interface
25
+ (`run_cycle`, `get_crep_state`, `get_utac_state`, `get_phase_events`,
26
+ `to_zenodo_record`), any change to these methods' signatures or return
27
+ shapes is a **breaking change** and requires a MAJOR version bump (see
28
+ `RELEASE_GUIDE.md`).
29
+
30
+ ## Pull requests
31
+
32
+ - One logical change per PR.
33
+ - Add or update tests for any behavioral change.
34
+ - Update `CHANGELOG.md` under an `## [Unreleased]` section.
35
+ - Fill out the PR template (`.github/PULL_REQUEST_TEMPLATE.md`).
36
+
37
+ ## Reporting issues
38
+
39
+ Please use the issue templates in `.github/ISSUE_TEMPLATE/` — they help us
40
+ triage bug reports vs. feature requests quickly.
41
+
42
+ ## Scientific claims
43
+
44
+ This is part of a research framework. If your contribution touches any
45
+ scientific model, prediction, or benchmark (e.g. CREP `Γ` values, UTAC
46
+ parameters, falsifiable predictions), please:
47
+ - Cite the source (paper, dataset, or prior GenesisAeon Zenodo record).
48
+ - Clearly mark speculative vs. validated claims, consistent with this
49
+ repo's existing `DISCLAIMER.md` (if present).
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 JohannRömer
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,117 @@
1
+ Metadata-Version: 2.4
2
+ Name: amazon-utac
3
+ Version: 1.0.0
4
+ Summary: GenesisAeon Package 19: UTAC dynamical model of the Amazon rainforest savannisation tipping point. Bundles the diamond-setup project scaffold CLI.
5
+ Project-URL: Homepage, https://github.com/GenesisAeon/amazon-utac
6
+ Project-URL: Repository, https://github.com/GenesisAeon/amazon-utac
7
+ Project-URL: Documentation, https://genesisaeon.github.io/amazon-utac
8
+ Project-URL: Issues, https://github.com/GenesisAeon/amazon-utac/issues
9
+ Project-URL: Zenodo, https://doi.org/10.5281/zenodo.19645351
10
+ Author: GenesisAeon / MOR Research Collective
11
+ License: MIT
12
+ License-File: LICENSE
13
+ Keywords: amazon,cli,crep,project-generator,scaffold,skeleton,template,tipping-point,utac
14
+ Classifier: Development Status :: 5 - Production/Stable
15
+ Classifier: Environment :: Console
16
+ Classifier: Intended Audience :: Developers
17
+ Classifier: Intended Audience :: Science/Research
18
+ Classifier: License :: OSI Approved :: MIT License
19
+ Classifier: Programming Language :: Python :: 3
20
+ Classifier: Programming Language :: Python :: 3.11
21
+ Classifier: Programming Language :: Python :: 3.12
22
+ Classifier: Topic :: Scientific/Engineering
23
+ Classifier: Topic :: Software Development :: Code Generators
24
+ Requires-Python: >=3.10
25
+ Requires-Dist: numpy>=1.26
26
+ Requires-Dist: pydantic>=2.7
27
+ Requires-Dist: pyyaml>=6.0
28
+ Requires-Dist: rich>=13.7.0
29
+ Requires-Dist: scipy>=1.12
30
+ Requires-Dist: typer>=0.12.0
31
+ Provides-Extra: dev
32
+ Requires-Dist: mypy>=1.10.0; extra == 'dev'
33
+ Requires-Dist: pre-commit>=3.7.0; extra == 'dev'
34
+ Requires-Dist: pytest-cov>=5.0.0; extra == 'dev'
35
+ Requires-Dist: pytest>=8.0.0; extra == 'dev'
36
+ Requires-Dist: ruff>=0.6.0; extra == 'dev'
37
+ Provides-Extra: docs
38
+ Requires-Dist: mkdocs-material>=9.5.0; extra == 'docs'
39
+ Requires-Dist: mkdocs>=1.6.0; extra == 'docs'
40
+ Provides-Extra: notebooks
41
+ Requires-Dist: ipykernel>=6.0; extra == 'notebooks'
42
+ Requires-Dist: jupyter>=1.0; extra == 'notebooks'
43
+ Requires-Dist: matplotlib>=3.8; extra == 'notebooks'
44
+ Description-Content-Type: text/markdown
45
+
46
+ # amazon-utac
47
+
48
+ > GenesisAeon Package 19 — Amazon Rainforest Savannisation as UTAC System
49
+
50
+ <p align="center">
51
+ <a href="https://doi.org/10.5281/zenodo.19645351"><img src="https://zenodo.org/badge/DOI/10.5281/zenodo.19645351.svg" alt="DOI (GenesisAeon Whitepaper)"/></a>
52
+ <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="MIT License"/></a>
53
+ <a href="https://creativecommons.org/licenses/by/4.0/"><img src="https://img.shields.io/badge/docs-CC%20BY%204.0-lightblue.svg" alt="CC BY 4.0"/></a>
54
+ <a href="https://github.com/GenesisAeon/genesis-os"><img src="https://img.shields.io/badge/part%20of-genesis--os-blueviolet" alt="Part of genesis-os"/></a>
55
+ <img src="https://img.shields.io/badge/UTAC-package%2019-orange" alt="Package 19"/>
56
+ </p>
57
+
58
+ **Amazon rainforest → savanna transition modelled as reversed UTAC system.**
59
+
60
+ **Key result**: Γ_Amazon ≈ 0.116 (low-CREP, fragile regime).
61
+
62
+ ## Installation
63
+
64
+ ```bash
65
+ pip install amazon-utac
66
+ ```
67
+
68
+ For development (running tests, linting):
69
+
70
+ ```bash
71
+ pip install -e ".[dev]"
72
+ ```
73
+
74
+ ## Quickstart
75
+
76
+ ```bash
77
+ amazon-utac run --scenario current-rate
78
+ amazon-utac threshold --deforestation-rate 0.01
79
+ ```
80
+
81
+ ## Integration in genesis-os
82
+
83
+ ```python
84
+ from genesis_os import GenesisOS
85
+ os = GenesisOS()
86
+ amazon = os.load_package(19)
87
+ results = amazon.run_cycle(duration_years=80)
88
+ ```
89
+
90
+ ## Benchmark
91
+
92
+ Validated against Lovejoy & Nobre (2019) and Boulton et al. (2022).
93
+
94
+ ## Falsifiable Prediction
95
+
96
+ With 1 % annual deforestation, tipping threshold crossed in 2038 ± 5 years.
97
+
98
+ ## Role in the GenesisAeon Ecosystem
99
+
100
+ `amazon-utac` is **GenesisAeon Package 19 (P19)**, in the **ecology /
101
+ rainforest savannisation** domain. It applies the GenesisAeon UTAC
102
+ (Universal Threshold Activation Criticality) framework and CREP tensor to
103
+ model the Amazon forest–savanna tipping point, contributing the
104
+ cross-domain Γ_Amazon ≈ 0.116 data point to the ecosystem-wide CREP
105
+ Criticality Spectrum.
106
+
107
+ ## Citation
108
+
109
+ [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.PLACEHOLDER.svg)](https://doi.org/10.5281/zenodo.PLACEHOLDER)
110
+
111
+ DOI will be assigned automatically on first GitHub Release once
112
+ Zenodo–GitHub integration is enabled for this repo. Until then, please cite
113
+ the GenesisAeon whitepaper DOI above, or `CITATION.cff` in this repository.
114
+
115
+ ## License
116
+
117
+ Code: MIT • Docs & Data: CC BY 4.0
@@ -0,0 +1,72 @@
1
+ # amazon-utac
2
+
3
+ > GenesisAeon Package 19 — Amazon Rainforest Savannisation as UTAC System
4
+
5
+ <p align="center">
6
+ <a href="https://doi.org/10.5281/zenodo.19645351"><img src="https://zenodo.org/badge/DOI/10.5281/zenodo.19645351.svg" alt="DOI (GenesisAeon Whitepaper)"/></a>
7
+ <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="MIT License"/></a>
8
+ <a href="https://creativecommons.org/licenses/by/4.0/"><img src="https://img.shields.io/badge/docs-CC%20BY%204.0-lightblue.svg" alt="CC BY 4.0"/></a>
9
+ <a href="https://github.com/GenesisAeon/genesis-os"><img src="https://img.shields.io/badge/part%20of-genesis--os-blueviolet" alt="Part of genesis-os"/></a>
10
+ <img src="https://img.shields.io/badge/UTAC-package%2019-orange" alt="Package 19"/>
11
+ </p>
12
+
13
+ **Amazon rainforest → savanna transition modelled as reversed UTAC system.**
14
+
15
+ **Key result**: Γ_Amazon ≈ 0.116 (low-CREP, fragile regime).
16
+
17
+ ## Installation
18
+
19
+ ```bash
20
+ pip install amazon-utac
21
+ ```
22
+
23
+ For development (running tests, linting):
24
+
25
+ ```bash
26
+ pip install -e ".[dev]"
27
+ ```
28
+
29
+ ## Quickstart
30
+
31
+ ```bash
32
+ amazon-utac run --scenario current-rate
33
+ amazon-utac threshold --deforestation-rate 0.01
34
+ ```
35
+
36
+ ## Integration in genesis-os
37
+
38
+ ```python
39
+ from genesis_os import GenesisOS
40
+ os = GenesisOS()
41
+ amazon = os.load_package(19)
42
+ results = amazon.run_cycle(duration_years=80)
43
+ ```
44
+
45
+ ## Benchmark
46
+
47
+ Validated against Lovejoy & Nobre (2019) and Boulton et al. (2022).
48
+
49
+ ## Falsifiable Prediction
50
+
51
+ With 1 % annual deforestation, tipping threshold crossed in 2038 ± 5 years.
52
+
53
+ ## Role in the GenesisAeon Ecosystem
54
+
55
+ `amazon-utac` is **GenesisAeon Package 19 (P19)**, in the **ecology /
56
+ rainforest savannisation** domain. It applies the GenesisAeon UTAC
57
+ (Universal Threshold Activation Criticality) framework and CREP tensor to
58
+ model the Amazon forest–savanna tipping point, contributing the
59
+ cross-domain Γ_Amazon ≈ 0.116 data point to the ecosystem-wide CREP
60
+ Criticality Spectrum.
61
+
62
+ ## Citation
63
+
64
+ [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.PLACEHOLDER.svg)](https://doi.org/10.5281/zenodo.PLACEHOLDER)
65
+
66
+ DOI will be assigned automatically on first GitHub Release once
67
+ Zenodo–GitHub integration is enabled for this repo. Until then, please cite
68
+ the GenesisAeon whitepaper DOI above, or `CITATION.cff` in this repository.
69
+
70
+ ## License
71
+
72
+ Code: MIT • Docs & Data: CC BY 4.0