Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fupit climate projections

Public web app for exploring future climate and habitability projections for any location on Earth through 2100.

Science rule

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.

Stack

  • 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.gz with metadata in data/manifest.json
  • WorldClim v2.1 observed baseline overlay in data/worldclim10m.i16.gz

Common commands

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-run

DATABASE_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.

Key docs

  • CONTRIBUTING.md - contribution rules and validation checklist
  • scripts/audit-public-readiness.mjs - tracked public-readiness audit for repo hygiene, required docs, stale artifacts, and public-facing language
  • docs/PRODUCT_REQUIREMENTS.md - educational/research product requirements and public-launch criteria
  • docs/VALIDATION_REPORT.md - generated trajectory validation report and unresolved hindcast gap
  • docs/architecture/TECHNICAL_DESIGN.md - Replit-scale serving architecture and performance targets
  • docs/architecture/SCIENTIFIC_GROUNDING.md - source and method map

License

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.

About

Climate projections for any place on Earth, year by year to 2100 — see where stays livable. Grounded in CMIP6/IPCC models, NASA sea-level data, and ETCCDI extreme-climate indices, with every number traceable to a public source. Compare cities; check heat, drought, and flood risk. Free and open.

Topics

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages