इस प्रोजेक्ट के बारे में

Floodcast-Gurugram गुरुग्राम (गुड़गांव), भारत के लिए एक नागरिक-तकनीक (civic-tech) बाढ़ पूर्वानुमान वेब ऐप है। इसका उद्देश्य एक विशिष्ट प्रश्न का उत्तर देना है जिसका उत्तर सामान्य मौसम ऐप और बाढ़ प्रवण स्थानों की सूचियाँ नहीं देतीं: लाइव वर्षा पूर्वानुमान को देखते हुए, क्या अगले कुछ घंटों में कोई विशेष रूट बाढ़ की चपेट में आएगा, बाढ़ ठीक कब शुरू होगी और कब खत्म होगी। केवल एक जोखिम स्कोर देने के बजाय, यह हमेशा प्रत्येक निर्णय के साथ एक समय सीमा (time window) जोड़ता है। यह क्या करता है - समय-सीमा आधारित जोखिम: लाइव प्रति घंटा वर्षा की तुलना 73 पंजीकृत बाढ़ बिंदुओं में से प्रत्येक के साथ की जाती है ताकि यह गणना की जा सके कि कोई बिंदु कब डूबता है और कब साफ होता है, जिसमें IMD-शैली के चेतावनी बैंड और स्पष्ट प्रारंभ और समाप्ति समय का उपयोग किया जाता है। - रूट निर्णय: दो स्थानों के नाम निर्धारित किए जाते हैं और उनके बीच की सीधी रेखा के 1.5 किमी बफर के भीतर हॉटस्पॉट खोजे जाते हैं; ऐप सबसे खराब बिंदु और सबसे खराब समय सीमा की रिपोर्ट करता है। - प्रति घंटा समयरेखा: उपयोगकर्ता पूर्वानुमान में आगे बढ़कर मैप, निर्णय और उस घंटे के रजिस्टर को देख सकते हैं। - वर्षा सिम्युलेटर: चूंकि गुरुग्राम साल के अधिकांश समय सूखा रहता है, उपयोगकर्ता यह पूछ सकते हैं कि 20, 35 या 55 मिमी/घंटा वर्षा पर क्या होगा और लाइव निर्णय वाले उसी इंजन के माध्यम से रजिस्टर की प्रतिक्रिया देख सकते हैं। - नागरिक रिपोर्ट: एक कैमरा फोटो, सटीकता के साथ एक GPS फिक्स और एक देखा गया गहराई स्तर। रिपोर्ट पहले डिवाइस पर स्टोर की जाती हैं और सार्वजनिक प्रदर्शन से पहले मॉडरेट की जाती हैं। - CPCB National AQI: वेंडर के 1-5 इंडेक्स के बजाय, 24 घंटे के प्रदूषक औसत से गणना किया गया भारतीय 0-500 स्केल। डेटा की उत्पत्ति (Data provenance) को एक उत्पाद विशेषता के रूप में माना गया है। 73 पंजीकृत बिंदुओं में से, 39 स्रोत-आधारित हैं: 4 MCG की ज़ोन 1 हॉटस्पॉट सूची में नामित हैं, 26 वर्ष 2022 से 2025 तक दो या अधिक स्वतंत्र समाचार रिपोर्टों में बार-बार आए हैं, और 9 वर्तमान मानसून सीजन के लिए दिनांकित, ऑन-रिकॉर्ड संस्थागत स्रोतों से हैं। शेष 24 को प्रशंसनीय लेकिन अपुष्ट वॉचलिस्ट प्रविष्टियों के रूप में वर्णित किया गया है, और 10 पुनर्निर्मित प्लेसहोल्डर हैं जिन्हें केवल MCG की आधिकारिक 36-बिंदु गणना को बनाए रखने के लिए रखा गया है। README स्पष्ट रूप से बताता है कि रजिस्टर के विस्तार ने मूल 36 की तुलना में औसत विश्वास को कम कर दिया है, और ऐप में एक 'What's real' टैब स्तरों को उजागर करता है, जिसमें मैप पर मार्कर फिल निश्चितता को दर्शाता है। सभी 73 पंक्तियों को असत्यापित निर्देशांक (coordinates) के रूप में चिह्नित किया गया है; एक स्क्रिप्ट OpenStreetMap के विरुद्ध उनका ऑडिट करती है और एक रिपोर्ट लिखती है लेकिन डेटा को कभी संपादित नहीं करती है। रूट मिलान स्पष्ट रूप से सीधी-रेखा कॉरिडोर मिलान है, न कि टर्न-बाय-टर्न रूटिंग, और यह हर रूट उत्तर में बताया जाता है। लर्निंग लूप एक-दूसरे के 500 मीटर के भीतर रिपोर्ट किए गए स्थानों को एक ही स्थान माना जाता है। 2 अलग-अलग दिनों में 3 रिपोर्ट आने के बाद एक स्थान को अपने आप में एक बाढ़ बिंदु के रूप में बढ़ावा दिया जाता है, जिन्हें अलग से लिया जाता है और कभी भी 73 शोधित पंक्तियों में मर्ज नहीं किया जाता है। किसी बिंदु के लिए एक मापा गया थ्रेशोल्ड केवल 2 अलग-अलग दिनों में घुटनों तक या उससे अधिक गहराई और 1 मिमी/घंटा से अधिक बारिश के बाद प्रकाशित किया जाता है; प्रकाशित आंकड़ा वह सबसे हल्की बारिश है जिसे वास्तव में उस स्थान को बाढ़ित करते हुए देखा गया है। Open-Meteo प्रत्येक स्वीकृत रिपोर्ट से पहले हुई वर्षा की आपूर्ति करता है। रिपोर्ट की गई गणना, कैलिब्रेशन जोड़े और देखे गए थ्रेशोल्ड केवल डेटाबेस ट्रिगर्स द्वारा लिखने योग्य होते हैं, जिन्हें कॉलम ग्रांट्स द्वारा लागू किया जाता है, ताकि एक मॉडरेटर हाथ से माप टाइप न कर सके। आर्किटेक्चर और स्टैक यह ऐप एक स्टैटिक साइट है: React 19 विथ TypeScript, Vite (rolldown) के साथ निर्मित और Leaflet के साथ रेंडर किया गया, जिसे एक इंस्टॉल करने योग्य ऑफलाइन-फर्स्ट PWA के रूप में शिप किया गया है और स्टैटिक होस्टिंग पर तैनात किया गया है। हॉटस्पॉट रजिस्टर (62 KB की स्टैटिक पंक्तियाँ) बंडल में ही शामिल हैं, इसलिए किसी भी नेटवर्क अनुरोध से पहले मैप और सूची रेंडर हो जाते हैं। स्कोरिंग उन पंक्तियों पर शुद्ध अंकगणित है और डिवाइस पर चलती है। एकमात्र हमेशा-चालू कॉल Open-Meteo है, जिसे किसी API कुंजी की आवश्यकता नहीं होती और क्रॉस-ओरिजिन एक्सेस की अनुमति देता है, इसलिए इसे विज़िटर के अपने IP से कॉल किया जाता है; Nominatim का उपयोग केवल उन स्थानों के लिए फॉलबैक के रूप में किया जाता है जो रजिस्टर में नहीं हैं। Supabase वैकल्पिक है: इसके बिना भी पूर्वानुमान टूल पूरी तरह से काम करता है और रिपोर्ट डिवाइस पर रहती हैं। README एक पिछले FastAPI-on-a-container संस्करण का दस्तावेजीकरण करता है जिसका कोल्ड स्टार्ट 42.7 सेकंड मापा गया था और जिसके पूर्वानुमान कॉल स्थायी रूप से रेट-लिमिटेड थे, जिसने ऑल-क्लाइंट रीडिज़ाइन को प्रेरित किया; कुल बंडल लगभग 160 KB gzipped बताया गया है। डेटा पाइपलाइन यहाँ कोई प्रशिक्षित मॉडल नहीं है। निश्चित सीड्स वाले चार डिटरमिनिस्टिक Python जेनरेटर चरणों में रजिस्टर बनाते हैं (36 पंक्तियाँ MCG की संरचना तक फ्रोजन, फिर 36 से 64, फिर 64 से 73), जिसके बाद एक एक्सपोर्ट स्टेप आता है जो JSON उत्सर्जित करता है जिसे ऐप शिप करता है और एक इंटीग्रिटी चेक करता है। निरंतर एकीकरण (Continuous integration) हर पुश पर सभी चरणों को पुनर्जीवित करता है और विफल हो जाता है यदि आउटपुट कमिट किए गए आउटपुट से भिन्न होता है; योगदानकर्ताओं को CSV के बजाय जेनरेटर को संपादित करने का निर्देश दिया जाता है। कैचमेंट क्षेत्रों के लिए GMDA के प्रकाशित ड्रेनेज नेटवर्क (4,701 मैप किए गए स्ट्रीम सेगमेंट, 10 वाटरशेड) को प्राप्त किया गया था, लेकिन उस डेटा को जानबूझकर किसी भी जोखिम स्कोर से बाहर रखा गया है, और एक टेस्ट इसे लागू करता है। विशेष रूप से, README रिपोर्ट करता है कि औसत कैचमेंट आकार गंभीरता स्तरों के साथ सहसंबंधित नहीं होता है, और यह नकारात्मक परिणाम प्रकाशित किया गया है। कोई समग्र सटीकता आंकड़ा दावा नहीं किया गया है, क्योंकि कोई ग्राउंड-ट्रुथ बाढ़ लॉग मौजूद नहीं है; README इसके बजाय एक रिस्पांस कर्व (10 मिमी/घंटा कुछ भी बाढ़ित नहीं करता, 20 मिमी/घंटा 10 सबसे खराब चौकों को प्रभावित करता है, 35 मिमी/घंटा 73 में से 44 बिंदुओं तक पहुँचता है, 55 मिमी/घंटा निरंतर पूरे रजिस्टर को कवर करता है) और 53 प्रतिशत की सोर्सिंग दर की रिपोर्ट करता है। संभावित उपयोगकर्ताओं के लिए चेतावनी सभी निर्देशांक जियोकोडेड स्थितियों के बजाय अनुमानित प्लेसमेंट हैं; थ्रेशोल्ड गंभीरता स्तर द्वारा इंजीनियरिंग अनुमानों के रूप में शुरू हुए थे, माप के रूप में नहीं, और उन्हें केवल तभी बदला जाता है जब नागरिक साक्ष्य जमा होते हैं; रूट विश्लेषण वास्तविक सड़कों के बजाय सीधी-रेखा कॉरिडोर का उपयोग करता है; और रजिस्टर, हालांकि आंशिक रूप से स्रोत-आधारित है, कोई आधिकारिक सरकारी डेटासेट नहीं है। प्रोजेक्ट के साथ एक लाइव डेमो, एक MIT लाइसेंस और समर्पित प्रोवेनेंस दस्तावेज़ उपलब्ध हैं।