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.
- amazon_utac-1.0.0/.github/ISSUE_TEMPLATE/bug_report.md +35 -0
- amazon_utac-1.0.0/.github/ISSUE_TEMPLATE/feature_request.md +29 -0
- amazon_utac-1.0.0/.github/PULL_REQUEST_TEMPLATE.md +31 -0
- amazon_utac-1.0.0/.github/workflows/ci.yml +63 -0
- amazon_utac-1.0.0/.github/workflows/release.yml +79 -0
- amazon_utac-1.0.0/.gitignore +22 -0
- amazon_utac-1.0.0/.pre-commit-config.yaml +17 -0
- amazon_utac-1.0.0/.zenodo.json +34 -0
- amazon_utac-1.0.0/CHANGELOG.md +21 -0
- amazon_utac-1.0.0/CITATION.cff +58 -0
- amazon_utac-1.0.0/CONTRIBUTING.md +49 -0
- amazon_utac-1.0.0/LICENSE +21 -0
- amazon_utac-1.0.0/PKG-INFO +117 -0
- amazon_utac-1.0.0/README.md +72 -0
- amazon_utac-1.0.0/README_QUICKSTART.md +52 -0
- amazon_utac-1.0.0/RELEASE_GUIDE.md +44 -0
- amazon_utac-1.0.0/data/boulton2022_resilience.yaml +64 -0
- amazon_utac-1.0.0/data/lovejoy2019_targets.yaml +97 -0
- amazon_utac-1.0.0/data/prodes_annual_summary.yaml +85 -0
- amazon_utac-1.0.0/docs/cli.md +88 -0
- amazon_utac-1.0.0/docs/index.md +37 -0
- amazon_utac-1.0.0/docs/templates.md +111 -0
- amazon_utac-1.0.0/mkdocs.yml +43 -0
- amazon_utac-1.0.0/pyproject.toml +94 -0
- amazon_utac-1.0.0/src/amazon_utac/__init__.py +7 -0
- amazon_utac-1.0.0/src/amazon_utac/benchmark.py +204 -0
- amazon_utac-1.0.0/src/amazon_utac/constants.py +79 -0
- amazon_utac-1.0.0/src/amazon_utac/crep_amazon.py +231 -0
- amazon_utac-1.0.0/src/amazon_utac/deforestation.py +215 -0
- amazon_utac-1.0.0/src/amazon_utac/ethics_gate.py +238 -0
- amazon_utac-1.0.0/src/amazon_utac/forest_cover.py +179 -0
- amazon_utac-1.0.0/src/amazon_utac/rainfall.py +156 -0
- amazon_utac-1.0.0/src/amazon_utac/resilience.py +204 -0
- amazon_utac-1.0.0/src/amazon_utac/savanna_attractor.py +180 -0
- amazon_utac-1.0.0/src/amazon_utac/system.py +526 -0
- amazon_utac-1.0.0/src/diamond_setup/__init__.py +4 -0
- amazon_utac-1.0.0/src/diamond_setup/_types.py +13 -0
- amazon_utac-1.0.0/src/diamond_setup/cli.py +183 -0
- amazon_utac-1.0.0/src/diamond_setup/preset.py +84 -0
- amazon_utac-1.0.0/src/diamond_setup/templates/__init__.py +15 -0
- amazon_utac-1.0.0/src/diamond_setup/templates/amazon_utac.py +246 -0
- amazon_utac-1.0.0/src/diamond_setup/templates/genesis.py +84 -0
- amazon_utac-1.0.0/src/diamond_setup/templates/minimal.py +143 -0
- amazon_utac-1.0.0/src/diamond_setup/validator.py +67 -0
- amazon_utac-1.0.0/tests/__init__.py +0 -0
- amazon_utac-1.0.0/tests/amazon_utac/__init__.py +0 -0
- amazon_utac-1.0.0/tests/amazon_utac/test_benchmark.py +185 -0
- amazon_utac-1.0.0/tests/amazon_utac/test_diamond_interface.py +191 -0
- amazon_utac-1.0.0/tests/amazon_utac/test_dual_attractor.py +145 -0
- amazon_utac-1.0.0/tests/amazon_utac/test_forest_cover.py +142 -0
- amazon_utac-1.0.0/tests/test_cli.py +101 -0
- amazon_utac-1.0.0/tests/test_preset.py +90 -0
- amazon_utac-1.0.0/tests/test_validator.py +54 -0
- 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,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 & 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
|
+
[](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
|
+
[](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
|