Public web app for exploring future climate and habitability projections for any location on Earth through 2100.
Every number served to users must trace to real CMIP6/IPCC model output or another documented authoritative dataset. Do not add heuristic coefficients, plausible-looking formulas, or fallback projections unless they are explicitly labeled and documented.
- React 18 + Vite client in
client/ - Express 5 + TypeScript server in
server/ - PostgreSQL via Drizzle schema in
shared/schema.ts - Offline Python projection engine in
grounded_model.py - Compact grounded grid in
data/grid.i16.gzwith metadata indata/manifest.json - WorldClim v2.1 observed baseline overlay in
data/worldclim10m.i16.gz
npm run dev
npm run build
npm run start
npm run check
npm run audit:public
npm run verify:live
npm run db:purge-model-cache:dry-runDATABASE_URL is required for forecast/cache endpoints because the API reads and writes climate_model_cache.
The built server can still boot without Postgres for read-only artifact routes such as /api/health,
/api/source-registry, /api/data-quality, /methodology, and /rankings.
npm run verify:live checks the public deployment by default; set FUPIT_BASE_URL=http://localhost:5000 for a local built server, FUPIT_SKIP_TRAJECTORY=1 when that local server has no Postgres, or FUPIT_REQUIRE_FRESH=1 with a new land coordinate to prove a post-purge forecast was generated instead of read from cache. npm run smoke:db-free-release exercises the local read-only release verifier against a built server with DATABASE_URL unset.
For the launch purge, first run npm run db:purge-model-cache:dry-run in the production Replit shell, then run FUPIT_CONFIRM_CACHE_PURGE=TRUNCATE_CLIMATE_MODEL_CACHE npm run db:purge-model-cache only after confirming that shell is connected to the production database.
CONTRIBUTING.md- contribution rules and validation checklistscripts/audit-public-readiness.mjs- tracked public-readiness audit for repo hygiene, required docs, stale artifacts, and public-facing languagedocs/PRODUCT_REQUIREMENTS.md- educational/research product requirements and public-launch criteriadocs/VALIDATION_REPORT.md- generated trajectory validation report and unresolved hindcast gapdocs/architecture/TECHNICAL_DESIGN.md- Replit-scale serving architecture and performance targetsdocs/architecture/SCIENTIFIC_GROUNDING.md- source and method map
Code is released under the GNU AGPL-3.0-or-later (see LICENSE). Because fupit
is a hosted service, anyone who runs a modified version publicly must also make
their source available. Source datasets carry their own licenses and attribution
requirements, including non-commercial, education-only terms for some sources;
see data/source-registry.json and docs/architecture/SCIENTIFIC_GROUNDING.md
before redistributing derived data.