{"id":51065316,"url":"https://github.com/urbanmorph/notf","last_synced_at":"2026-06-23T06:01:22.780Z","repository":{"id":320728176,"uuid":"1079716631","full_name":"urbanmorph/notf","owner":"urbanmorph","description":"Neighbourhoods of the Future","archived":false,"fork":false,"pushed_at":"2026-06-02T14:13:06.000Z","size":209114,"stargazers_count":0,"open_issues_count":1,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-02T15:27:21.872Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://notf-one.vercel.app","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/urbanmorph.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-20T09:20:09.000Z","updated_at":"2026-05-07T12:49:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"93ded6fc-7407-4b64-a79d-c056d7afb4e0","html_url":"https://github.com/urbanmorph/notf","commit_stats":null,"previous_names":["urbanmorph/notf"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/urbanmorph/notf","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/urbanmorph%2Fnotf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/urbanmorph%2Fnotf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/urbanmorph%2Fnotf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/urbanmorph%2Fnotf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/urbanmorph","download_url":"https://codeload.github.com/urbanmorph/notf/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/urbanmorph%2Fnotf/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34677401,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-23T02:00:07.161Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-23T06:01:19.356Z","updated_at":"2026-06-23T06:01:22.773Z","avatar_url":"https://github.com/urbanmorph.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NOTF - Neighbourhoods of the Future\n\n**Live site:** https://urbanmorph.github.io/notf/\n\nA collaborative platform for building inclusive, resilient, and people-first neighbourhoods through systems thinking, community engagement, and data-driven insights.\n\n## Structure\n\n- `docs/` - GitHub Pages website (built from website/)\n- `data/` - Network data (members, communities, asks/offers)\n- `scripts/` - Automation scripts\n- `website/` - Website source files\n- `website/public/assets/data/climate/` - Ward-level climate data (Bengaluru)\n- `supporting documents/` - Project documentation and data processing scripts\n\n## Local Development\n\n```bash\n# Install dependencies\ncd website\nnpm install\n\n# Run development server\nnpm start\n\n# Build for production\nnpm run build\n\n# Copy to docs for GitHub Pages\ncp -r _site/* ../docs/\n```\n\n## Data Management\n\n```bash\n# Add new member\ncp data/members/organizations/_TEMPLATE.yaml data/members/organizations/new-org.yaml\n\n# Validate data\npython3 scripts/validate_data.py data/\n\n# Find matches\npython3 scripts/match_asks_offers.py\n\n# Generate weekly digest\npython3 scripts/weekly_digest.py\n```\n\n## GitHub Pages Setup\n\n1. Go to repository Settings \u003e Pages\n2. Set Source to \"Deploy from a branch\"\n3. Select branch: `main` and folder: `/docs`\n4. Save\n\n---\n\n## 📊 Ward-Level Climate Data\n\n### Overview\n\nNOTF provides open ward-level climate baseline data for Indian cities, starting with **Bengaluru (369 wards)** and **Mumbai (227 wards)**. This granular data enables communities, policymakers, and researchers to track climate action progress at the neighbourhood level.\n\n**Coverage:**\n- **Bengaluru:** 7 climate sectors × 369 wards = 2,583 data points\n  - ✅ Energy \u0026 Buildings (100% coverage)\n  - ✅ Waste Management (100% coverage)\n  - ⚠️ Transportation (partial data)\n  - ⚠️ Air Quality (16 monitoring stations)\n  - ⚠️ Water Resources (zone-level)\n  - ✅ Urban Greening (100% coverage)\n  - ⚠️ Disaster Resilience (flood risk 100%, heat partial)\n\n- **Mumbai:** 2 climate sectors × 227 wards = 454 data points\n  - ✅ Energy \u0026 Buildings (100% coverage)\n  - ✅ Waste Management (100% coverage)\n  - ⏳ Transportation (pending)\n  - ⏳ Air Quality (pending)\n  - ⏳ Water Resources (pending)\n  - ⏳ Urban Greening (pending)\n  - ⏳ Disaster Resilience (pending)\n\n**Data Quality:**\n- Bengaluru: ★★★☆☆ (63%) - See [`DATA_SOURCES_AND_CREDITS.md`](supporting%20documents/DATA_SOURCES_AND_CREDITS.md)\n- Mumbai: ★★★☆☆ (60%) - See [`MUMBAI_DATA_SOURCES_AND_CREDITS.md`](supporting%20documents/MUMBAI_DATA_SOURCES_AND_CREDITS.md)\n\n---\n\n### 📥 Download Climate Datasets\n\n#### Bengaluru (369 Wards)\n\n**Option 1: Full Dataset (3.8 MB)**\n```bash\n# Clone repository\ngit clone https://github.com/urbanmorph/notf.git\ncd notf/website/public/assets/data/climate/bengaluru/\n\n# All files:\n# - city_climate.json (10 KB) - City-level aggregates\n# - ward_index.json (96 KB) - Ward metadata\n# - climate_central.json (621 KB) - 63 wards\n# - climate_east.json (492 KB) - 50 wards\n# - climate_west.json (1.1 MB) - 112 wards\n# - climate_north.json (709 KB) - 72 wards\n# - climate_south.json (709 KB) - 72 wards\n```\n\n**Option 2: Direct Download Links**\n```bash\n# City summary (10 KB)\nwget https://raw.githubusercontent.com/urbanmorph/notf/main/website/public/assets/data/climate/bengaluru/city_climate.json\n\n# Ward index (96 KB)\nwget https://raw.githubusercontent.com/urbanmorph/notf/main/website/public/assets/data/climate/bengaluru/ward_index.json\n\n# Corporation data (download specific corporation or all 5)\nwget https://raw.githubusercontent.com/urbanmorph/notf/main/website/public/assets/data/climate/bengaluru/climate_central.json\nwget https://raw.githubusercontent.com/urbanmorph/notf/main/website/public/assets/data/climate/bengaluru/climate_east.json\nwget https://raw.githubusercontent.com/urbanmorph/notf/main/website/public/assets/data/climate/bengaluru/climate_west.json\nwget https://raw.githubusercontent.com/urbanmorph/notf/main/website/public/assets/data/climate/bengaluru/climate_north.json\nwget https://raw.githubusercontent.com/urbanmorph/notf/main/website/public/assets/data/climate/bengaluru/climate_south.json\n```\n\n**Option 3: Python Script**\n```python\nimport json\nimport requests\n\n# Load city summary\ncity_data = requests.get(\n    'https://raw.githubusercontent.com/urbanmorph/notf/main/website/public/assets/data/climate/bengaluru/city_climate.json'\n).json()\n\nprint(f\"Total wards: {city_data['total_wards']}\")\nprint(f\"Total population: {city_data['total_population']:,}\")\n\n# Load specific corporation\ncentral_wards = requests.get(\n    'https://raw.githubusercontent.com/urbanmorph/notf/main/website/public/assets/data/climate/bengaluru/climate_central.json'\n).json()\n\nfor ward in central_wards['wards']:\n    print(f\"{ward['ward_name']}: {ward['population']:,} people\")\n```\n\n#### Mumbai (227 Wards)\n\n**Option 1: Full Dataset (2.4 MB)**\n```bash\n# Clone repository\ngit clone https://github.com/urbanmorph/notf.git\ncd notf/website/public/assets/data/climate/mumbai/\n\n# All files:\n# - city_climate.json (10 KB) - City-level aggregates\n# - ward_index.json (60 KB) - Ward metadata\n# - climate_south.json (221 KB) - 21 wards\n# - climate_central.json (369 KB) - 35 wards\n# - climate_western.json (463 KB) - 44 wards\n# - climate_eastern.json (515 KB) - 49 wards\n# - climate_northern.json (820 KB) - 78 wards\n```\n\n**Option 2: Direct Download Links**\n```bash\n# City summary (10 KB)\nwget https://raw.githubusercontent.com/urbanmorph/notf/main/website/public/assets/data/climate/mumbai/city_climate.json\n\n# Ward index (60 KB)\nwget https://raw.githubusercontent.com/urbanmorph/notf/main/website/public/assets/data/climate/mumbai/ward_index.json\n\n# Zone data (download specific zone or all 5)\nwget https://raw.githubusercontent.com/urbanmorph/notf/main/website/public/assets/data/climate/mumbai/climate_south.json\nwget https://raw.githubusercontent.com/urbanmorph/notf/main/website/public/assets/data/climate/mumbai/climate_central.json\nwget https://raw.githubusercontent.com/urbanmorph/notf/main/website/public/assets/data/climate/mumbai/climate_western.json\nwget https://raw.githubusercontent.com/urbanmorph/notf/main/website/public/assets/data/climate/mumbai/climate_eastern.json\nwget https://raw.githubusercontent.com/urbanmorph/notf/main/website/public/assets/data/climate/mumbai/climate_northern.json\n```\n\n**Option 3: Python Script**\n```python\nimport json\nimport requests\n\n# Load city summary\ncity_data = requests.get(\n    'https://raw.githubusercontent.com/urbanmorph/notf/main/website/public/assets/data/climate/mumbai/city_climate.json'\n).json()\n\nprint(f\"Total wards: {city_data['total_wards']}\")\nprint(f\"Total population: {city_data['total_population']:,}\")\n\n# Load specific zone\nsouth_wards = requests.get(\n    'https://raw.githubusercontent.com/urbanmorph/notf/main/website/public/assets/data/climate/mumbai/climate_south.json'\n).json()\n\nfor ward in south_wards['wards']:\n    print(f\"{ward['ward_name']}: {ward['population']:,} people\")\n```\n\n**Documentation:**\n- [`MUMBAI_DATA_SOURCES_AND_CREDITS.md`](supporting%20documents/MUMBAI_DATA_SOURCES_AND_CREDITS.md) - Comprehensive data source documentation\n- [`MUMBAI_227_WARDS_DATA_RESEARCH.md`](supporting%20documents/MUMBAI_227_WARDS_DATA_RESEARCH.md) - Ward data research findings\n\n---\n\n### 📄 License: CC BY-NC-SA 4.0\n\n\u003ca href=\"https://creativecommons.org/licenses/by-nc-sa/4.0/\" target=\"_blank\" rel=\"license noopener noreferrer\"\u003e\n    \u003cimg src=\"https://mirrors.creativecommons.org/presskit/buttons/88x31/svg/by-nc-sa.svg\" alt=\"CC BY-NC-SA 4.0\" width=\"120\"\u003e\n\u003c/a\u003e\n\n**You are free to:**\n- ✅ **Share** — copy and redistribute the material in any medium or format\n- ✅ **Adapt** — remix, transform, and build upon the material\n\n**Under the following terms:**\n- **Attribution (BY)** — You must give appropriate credit, provide a link to the license, and indicate if changes were made\n- **NonCommercial (NC)** — You may not use the material for commercial purposes\n- **ShareAlike (SA)** — If you remix, transform, or build upon the material, you must distribute your contributions under the same license\n\n**Full License:** https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode\n\n---\n\n### 📝 How to Cite\n\n#### Academic Citation (APA)\n```\nNeighbourhoods of the Future. (2026). Ward-Level Climate Baseline Data for Bengaluru.\nRetrieved from https://github.com/urbanmorph/notf/tree/main/website/public/assets/data/climate/bengaluru\nLicensed under CC BY-NC-SA 4.0.\n```\n\n#### Data Attribution (Required)\nWhen using this data in reports, visualizations, or derivative works, include:\n\n```\nData Source: Neighbourhoods of the Future (NOTF)\nGitHub: https://github.com/urbanmorph/notf\nLicense: CC BY-NC-SA 4.0\nOriginal Sources: Census of India 2011, OpenCity.in, BBMP, KSPCB\n```\n\n#### BibTeX\n```bibtex\n@dataset{notf_bengaluru_climate_2026,\n  author = {{Neighbourhoods of the Future}},\n  title = {Ward-Level Climate Baseline Data for Bengaluru},\n  year = {2026},\n  publisher = {GitHub},\n  url = {https://github.com/urbanmorph/notf},\n  license = {CC-BY-NC-SA-4.0}\n}\n```\n\n---\n\n### 📚 Data Sources \u0026 Credits\n\nAll data compiled from authoritative government and research sources. Full documentation available in [`DATA_SOURCES_AND_CREDITS.md`](supporting%20documents/DATA_SOURCES_AND_CREDITS.md).\n\n#### Primary Data Providers\n\n**Government Agencies:**\n- **Census of India 2011** - Population, households, demographics (★★★★☆ 75%)\n- **BBMP (Bruhat Bengaluru Mahanagara Palike)** - Waste management, tree census, ward boundaries (★★★☆☆ 65%)\n- **KSPCB (Karnataka State Pollution Control Board)** - Air quality monitoring network (★★★★☆ 80%)\n- **BESCOM** - Electricity consumption estimates (★★☆☆☆ 50%)\n- **KREDL (Karnataka Renewable Energy Development Limited)** - Renewable energy data (★★★★☆ 85%)\n- **BWSSB (Bangalore Water Supply and Sewerage Board)** - Water supply data (★★★☆☆ 60%)\n- **BMTC (Bangalore Metropolitan Transport Corporation)** - Public transport coverage (★★★★☆ 75%)\n\n**Research \u0026 Data Portals:**\n- **OpenCity.in** - Urban data portal aggregating official government datasets\n  - [Bengaluru Household Consumption Expenditure Survey 2022-23](https://data.opencity.in/dataset/bengaluru-household-consumption-expenditure-survey-2022-23)\n  - [Karnataka Renewable Energy Data](https://data.opencity.in/dataset/karnataka-renewable-energy-data)\n  - [Solid Waste Management](https://data.opencity.in/dataset/solid-waste-management)\n  - [List of Dry Waste Collection Centres](https://data.opencity.in/dataset/list-of-dry-waste-collection-centres-in-bengaluru)\n  - [Bengaluru Air Quality Data (2017-2023)](https://data.opencity.in/dataset/bengaluru-air-quality-data)\n  - [BMTC Bus Stops and Routes by Ward](https://data.opencity.in/dataset/bus-stops-and-routes-map-by-ward)\n- **IISc (Indian Institute of Science)** - Urban research, water resources, urban heat studies\n- **Praja Foundation** - Civic data analysis, waste management monitoring\n- **IGBC/GRIHA** - Green building certifications\n\n**Data Licensing:**\n- OpenCity.in: Open Database License (ODbL)\n- Government data: Government Open Data License - India (GODL)\n- Census data: Public domain\n\n**Confidence Scores:**\n- ★★★★★ (85-100%) - High quality, verified, recent data\n- ★★★★☆ (70-84%) - Good quality, some limitations\n- ★★★☆☆ (55-69%) - Medium quality, estimates or proxy data\n- ★★☆☆☆ (40-54%) - Limited quality, significant gaps\n- ★☆☆☆☆ (25-39%) - Low quality, placeholder estimates\n\n---\n\n### 🔧 Data Processing Scripts\n\nPython scripts for generating ward-level climate data are available in [`supporting documents/scripts/processing/`](supporting%20documents/scripts/processing/):\n\n1. **`split_corporation_data.py`** - Split 3.5 MB baseline JSON into 5 corporation files\n2. **`generate_ward_index.py`** - Extract ward metadata for routing\n3. **`generate_city_summary.py`** - Calculate city-level aggregates and rankings\n4. **`generate_ward_pages.py`** - Generate 738 static HTML ward pages\n5. **`add_source_metadata.py`** - Add OpenCity.in source attributions\n\n```bash\n# Run data pipeline\ncd \"supporting documents/scripts/processing\"\npython3 split_corporation_data.py\npython3 generate_ward_index.py\npython3 generate_city_summary.py\npython3 add_source_metadata.py\npython3 generate_ward_pages.py\n```\n\n---\n\n### 🗺️ Ward Boundaries (GeoJSON)\n\n```bash\n# Bengaluru ward boundaries\nwget https://raw.githubusercontent.com/urbanmorph/notf/main/website/public/assets/data/boundaries/bengaluru-wards.geojson\n\n# Mumbai ward boundaries (227 electoral wards)\nwget https://raw.githubusercontent.com/urbanmorph/notf/main/website/public/assets/data/boundaries/mumbai-electoral-wards.geojson\n\n# Mumbai administrative wards (24 wards - legacy)\nwget https://raw.githubusercontent.com/urbanmorph/notf/main/website/public/assets/data/boundaries/mumbai-wards.geojson\n```\n\n**Format:** GeoJSON (RFC 7946)\n**Projection:** WGS84 (EPSG:4326)\n**Sources:**\n- Bengaluru: OpenCity.in + BBMP official boundaries\n- Mumbai: DataMeet Municipal Spatial Data (CC BY-SA 2.5 India) + MCGM\n\n---\n\n### 📊 Data Structure\n\n#### City Summary (`city_climate.json`)\n```json\n{\n  \"city\": \"Bengaluru\",\n  \"total_wards\": 369,\n  \"total_population\": 8402887,\n  \"last_updated\": \"2026-01-23\",\n  \"sectors\": {\n    \"energy_buildings\": {\n      \"clean_cooking\": {\n        \"average\": 16.2,\n        \"distribution\": {\"high\": 0, \"medium\": 38, \"low\": 331},\n        \"top_5\": [...],\n        \"bottom_5\": [...],\n        \"data_source\": {\n          \"provider\": \"Census 2011 + OpenCity.in\",\n          \"url\": \"https://data.opencity.in/dataset/...\",\n          \"confidence_score\": 0.64,\n          \"confidence_stars\": \"★★★☆☆\",\n          \"methodology\": \"...\",\n          \"limitations\": [...]\n        }\n      }\n    }\n  }\n}\n```\n\n#### Ward Data (`climate_*.json`)\n```json\n{\n  \"corporation\": \"South\",\n  \"ward_count\": 72,\n  \"wards\": [\n    {\n      \"ward_id\": 42,\n      \"ward_name\": \"Jayanagar 4th Block\",\n      \"ward_name_local\": \"ಜಯನಗರ 4ನೇ ಬ್ಲಾಕ್\",\n      \"slug\": \"jayanagar-4th-block\",\n      \"corporation\": \"South\",\n      \"population\": 18542,\n      \"energy_buildings\": {\n        \"solid_fuel_households\": {\n          \"value\": 12.5,\n          \"percentage\": 12.5,\n          \"confidence\": 0.64,\n          \"source\": \"Census 2011\",\n          \"data_source\": {\n            \"provider\": \"Census 2011 + OpenCity.in\",\n            \"url\": \"...\",\n            \"confidence_score\": 0.64,\n            \"methodology\": \"...\",\n            \"limitations\": [...]\n          }\n        }\n      }\n    }\n  ]\n}\n```\n\n---\n\n### 🚀 Future Cities\n\n**Planned for 2026:**\n- Delhi (272 wards)\n- Chennai (200 wards)\n- Hyderabad (150 wards)\n- Pune (144 wards)\n\n**Contribute:** If you have ward-level climate data for other Indian cities, please open an issue or submit a pull request.\n\n---\n\n### ⚠️ Data Limitations \u0026 Validation\n\n**Known Limitations:**\n1. **Data Age** - Census 2011 is 15 years old; population estimates extrapolated\n2. **Ward Boundaries** - Some wards reorganized since 2011\n3. **Incomplete Coverage** - Only Energy \u0026 Waste sectors have 100% ward-level data\n4. **Estimates** - Many metrics use city averages applied uniformly (electricity, renewable energy)\n5. **Informal Sector** - Waste segregation by informal workers not captured\n\n**Validation Process:**\n- Cross-referenced with official government portals\n- Spot checks on 10% random sample\n- Peer review by urban planning researchers\n- BBMP/KSPCB officials consulted\n\n**Report Data Issues:**\n- GitHub Issues: https://github.com/urbanmorph/notf/issues\n- Email: data@neighbourhoodsofthefuture.org\n\n---\n\n### 📖 Additional Documentation\n\n- **Full Methodology:** [`DATA_SOURCES_AND_CREDITS.md`](supporting%20documents/DATA_SOURCES_AND_CREDITS.md)\n- **Mumbai Data Sources:** [`MUMBAI_DATA_SOURCES_AND_CREDITS.md`](supporting%20documents/MUMBAI_DATA_SOURCES_AND_CREDITS.md)\n- **Implementation Progress:** [`WARD_DASHBOARD_FINAL_SUMMARY.md`](supporting%20documents/WARD_DASHBOARD_FINAL_SUMMARY.md)\n- **Architecture:** [`ARCHITECTURE.md`](ARCHITECTURE.md)\n\n---\n\n## Contact\n\nNudge Unit: nudge-unit@notf.in\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Furbanmorph%2Fnotf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Furbanmorph%2Fnotf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Furbanmorph%2Fnotf/lists"}