# Coming Soon - Earths v0.0.2+
## Development Setup Script
After installing `earths` via `cargo install earths`, use the bundled setup script to configure for local development with the latest `sciforge`:
```bash
sh ~/.cargo/bin/../scripts/setup_dev_environment.sh
```
Or run from the crate root:
```bash
./scripts/setup_dev_environment.sh
```
This script:
- Replaces pinned `sciforge = "0.1"` with `sciforge = "*"` in your local `Cargo.toml`
- Allows you to track the latest sciforge releases without waiting for earths updates
- Only affects your local checkout, not the published crate version
## Planned Features (Blocked on sciforge updates)
### v0.0.3 - Extended Physics
- **Requires**: sciforge >= 0.2 (advanced thermodynamics modules)
- Clausius–Clapeyron integration via sciforge thermodynamic tables
- Real atmospheric lapse rates (ICAO standard + deviations)
- High-precision seawater state equation (UNESCO 1983)
### v0.0.4 - Planetary Integration
- **Requires**: sciforge >= 0.3 (orbital mechanics, N-body)
- Venus climate simulation (Venus module in crate)
- Mars geology (Mars module in crate)
- Jupiter moon system (Ganymede, Europa modules)
- N-body orbital solver (currently simplified Kepler only)
### v0.0.5 - Coupled Earth System
- **Requires**: sciforge >= 0.3 (biogeochemistry)
- Full carbon cycle integration
- Nutrient cycling (nitrogen, phosphorus)
- Land-use change dynamics
- GCM-level atmosphere (multi-layer winds + transport)
### v0.0.6 - Advanced Rendering Backend
- **Requires**: sciforge >= 0.4 (spectral radiative transfer)
- Full hyperspectral rendering (400–2500 nm channels)
- Ocean color inversion
- Cloud radiative forcing feedback
- Polarization effects
### v0.0.7+ - Ecosystem Dynamics
- Biogeographic realm transitions (tropical → temperate → boreal)
- Evolution-aware biodiversity (extinction risk, speciation)
- Invasive species modeling
- Phenological shifts due to climate
## Known Limitations
### Current Scope (v0.0.2)
- No UI, viewer, or frontend in this crate
- Heightmap is analytical (harmonics up to degree 12) — not observational
- Ocean only has basic thermodynamics; no deep circulation
- Biosphere limited to 2 generic species
- Rendering data only (no GPU/graphics)
### Why These Exist
- Real datasets (SRTM, GEBCO, MODIS) require external provisioning
- GCM-scale atmospheric dynamics needs sciforge 0.3+
- Full biogeochemistry needs reference databases from sciforge
## Non-Goals
This crate will **never**:
- Render graphics (use specialized frontends instead)
- Bundle terrain rasters/DEMs/climate data
- Implement UI/visualization (API-first design)
- Reimplement features already in sciforge (absorb upstream instead)
## Integration Points
External consumers should integrate earths via:
1. **as a library**: `use earth::{Earth, ..}` → access simulation state
2. **via IPC**: spawn binary with `MOON_BINARY=/path/to/moon` for multi-body
3. **via endpoints**: wrap in REST/gRPC server for distributed clients
4. **via WebSocket**: stream state updates to web clients
5. **via file format**: export to NetCDF/HDF5 for analysis tools
## Contributing
Contributions welcome for:
- Bug fixes and test improvements
- Documentation clarity
- New subsystems (only if independent of sciforge features)
- Integration examples
Not needed:
- UI/rendering code (out of scope)
- Dataset bundling (use external provisioning)
- Frontend work (use APIs in your consumer)
## Changelog
See [`CHANGELOG.md`](CHANGELOG.md) for release notes and migration guides.