How tristanscloud/stickleback-environmental-metrics works
This is a Python pipeline for validating stickleback sample coordinates and enriching them with habitat, water-feature, climate, terrain, hydrology, and ecological-metric context. Its principal workflow is validated sites → habitat-aware matching or environmental extraction → status/provenance-bearing metrics; cached pilot results can also be materialized offline. A secondary branch prepares frozen validation assets for a read-only Earth Engine viewer. Several orchestration and extraction links are documented at module level but their runtime callers were not shown, so those relationships are marked unverified.
Main entry points: runner.py Pipeline runner · cached_enrichment.py Cached enrichment · pilot.py Pilot workflow · habitats.py Habitat domains
Components 23
Site preparation
- Site validation
src/enviro_data/input.py - Habitat inference
src/enviro_data/site_habitat.py - Habitat domains
src/enviro_data/habitats.py - OSM matching
src/enviro_data/osm_matching.py - Pilot workflow
src/enviro_data/pilot.py - Pipeline runner
src/enviro_data/runner.py
Environmental data
- Climate sampling
src/enviro_data/climate.py - Terrain sampling
src/enviro_data/terrain.py - DEM acquisition
src/enviro_data/dem_acquisition.py - Topography extraction
src/enviro_data/topography.py - Hydrology integration
src/enviro_data/hydrology.py - Extraction planning
src/enviro_data/extraction_plan.py
Metrics and sources
- Source catalog
src/enviro_data/source_catalog.py - Unit transforms
src/enviro_data/transforms.py - Temporal summaries
src/enviro_data/temporal.py - Metric contract
src/enviro_data/metrics.py - Cached enrichment
src/enviro_data/cached_enrichment.py - Environmental variables
src/enviro_data/variables - Variable geometry helpers
src/enviro_data/variables/_common.py
Pilot review
- Validation asset builder
src/enviro_data/ee_app_assets.py - Validation viewer
apps/earth_engine_validation/ee_pilot_validation_app.js
Other components
- Analyst
- Google Earth Engine
Connections 22
- Analyst → Site validation: loads sites
README.md - Site validation → Pilot workflow: provides records
src/enviro_data/pilot.py - Pilot workflow → Habitat inference: infers habitat
- Habitat inference → Habitat domains: normalizes domain
src/enviro_data/site_habitat.py - Pilot workflow → OSM matching: matches features
- Pipeline runner → Climate sampling: samples climate
- Pipeline runner → Terrain sampling: samples terrain
- DEM acquisition → Topography extraction: supplies cached DEM
src/enviro_data/topography.py - Pipeline runner → DEM acquisition: acquires bounded data
- Pipeline runner → Hydrology integration: uses hydrology
- Source catalog → Habitat domains: routes by habitat
src/enviro_data/source_catalog.py - Analyst → Extraction planning: plans extraction
- Cached enrichment → Habitat domains: normalizes habitat
src/enviro_data/cached_enrichment.py - Cached enrichment → Metric contract: creates metrics
src/enviro_data/cached_enrichment.py - Cached enrichment → Environmental variables: derives variables
- Environmental variables → Variable geometry helpers: uses geometry helpers
src/enviro_data/variables/coastal_context.py - Analyst → Cached enrichment: enriches pilot cache
README.md - Analyst → Validation asset builder: prepares review assets
README.md - Validation asset builder → Validation viewer: prepares viewer inputs
README.md - Validation viewer → Google Earth Engine: selects approved release
README.md - Source catalog → Unit transforms: declares transforms
- Metric contract → Temporal summaries: summarizes metrics