Weather.gov 2.0 अपडेट की घोषणा
(github.com/weather-gov)- Weathergov 2.0 repository, पुराने Drupal codebase के बाद दूसरा implementation है, और इसे Wagtail/Django पर migrate करने के लिए बनाया गया project है
- Developer repository clone करने के बाद
just zapसे container set up कर सकते हैं, औरapp को,API proxy status को check कर सकते हैं - Documentation directory में product owner, developer, designer, researcher आदि के लिए guides और architecture decision records शामिल हैं
- AI-assisted code भी सामान्य code और review standards के तहत स्वीकार किया जा सकता है, लेकिन submitter को code execution और tests खुद चलाने होंगे और merge request में model name, version, environment जैसी source जानकारी disclose करनी होगी
- Codebase को Wagtail CMS, Django sub-apps, Node.js API layer और proxy, Terraform infrastructure code, Playwright E2E tests आदि में बांटकर operate किया जाता है
Weathergov 2.0 का स्वरूप
- यह Git repository Weathergov 2.0 के दूसरे iteration से संबंधित है
- पिछली repository में Drupal codebase था, और यह repository Wagtail/Django migration के लिए बनाई गई है
Local run करने का तरीका
- Repository clone करने के बाद
just zapचलाने से container set up किया जा सकता है - Container चलने पर इसे नीचे दिए addresses पर check किया जा सकता है
http://localhost:8080: application running screenhttp://localhost:8081: API proxy status
Documentation और decision records
docs/के तहत कई roles के लिए guides हैं- Product owners के लिए docs
- Developers के लिए docs
- Designers के लिए docs
- Researchers के लिए docs
- अन्य roles के लिए docs
docs/architecture/decisions/में architecture decision records हैं, जो मौजूदा structure और decisions के कारणों को explain करते हैं
AI-assisted code policy
- Project NAO 216-218 Artificial Intelligence in NOAA Policy, Executive Order 14179 "Removing Barriers to American Leadership in Artificial Intelligence", America's AI Action Plan के अनुरूप AI-assisted code स्वीकार कर सकता है
- AI-assisted code को सामान्य code और review standards का पालन करना होगा, और उस पर ज्यादा ऊंचे quality standards लागू होंगे
- Submitter को, मानव द्वारा लिखे code की तरह, नीचे दी गई बातों को पूरा करना होगा
- code और tests खुद run किए होने चाहिए
- code क्या करता है, यह team को explain कर सकना चाहिए
- जिस समस्या को solve करना है और proposed solution को समझना चाहिए
- Submitted code के behavior, bugs और side effects की जिम्मेदारी हमेशा human contributor पर होती है
- सभी merge requests में AI-assisted code शामिल है या नहीं, यह disclose करना होगा
- इस्तेमाल किए गए model का name और version
- IDE, Copilot जैसे related environment
- code source को समझने में मदद करने वाली अन्य जानकारी
- Checklist मांगती है कि AI-generated code changes को mark किया जाए, उन्हें खुद run किया गया हो, और experts व non-experts दोनों को changes, issues और improvements समझाए जा सकें
Code structure
api-interop-layer: site और API के बीच स्थित Node appapi-proxy: API calls को proxy करने और static data inject करने वाला development/debug toolforecast/backend: forecast pages provide करने वाला Wagtail CMSforecast/frontend: JavaScript और अन्य client-side assetsforecast/locale: translation generation के लिए message filesforecast/spatial: spatial database manage करने वाला Django sub-applicationspatial-data: WFO maps generate करने वाला Node.js utility appterraform: infrastructure management और site deployment के लिए codetests/playwright: running site के लिए Playwright E2E teststests/translations: translation keys की मौजूदगी check करने वाला test script, जो deprecated status में हैjustfile: developer commands run करने वाली file, जो नएmakefileके करीब role निभाती है
1 टिप्पणियां
Hacker News की राय
लगता है कि यह 18F(GSA) के साथ contract/partnership के तहत किया जा रहा है: https://18f.gsa.gov/
यह देखकर हैरानी हुई कि public README में लिखा है कि “weather.gov यूज़र की ज़रूरतों की तुलना में संगठन के silo को ज़्यादा दर्शाता है (Conway का नियम)”। हमारे संगठन में होता, तो शायद public document में ऐसा लिखने की हिम्मत नहीं होती
stakeholders का defensive रवैया कम करना और एक consistent समाधान के लिए सहयोग कर पाने की सुरक्षा देना आधी जीत है, और ऐसी “bureaucracy hacking” में trust और relationship building को कम आंका जाता है
silo बन ही जाते हैं, और मैं इसका दोष किसी पर नहीं डालना चाहता। अगर पता हो कि समस्या को माना गया है और उसे हल करने की इच्छा है, तो कुछ हद तक झुंझलाहट कम हो जाती है
लेकिन field observation data वास्तव में USGS से आता है, और data तथा web services भी waterdata.usgs.gov पर उपलब्ध हैं
हो सकता है यह बेवकूफी भरा सवाल हो, लेकिन मैं जानना चाहता हूँ कि यह 2.0 वास्तव में कहीं इस्तेमाल करने लायक स्थिति में है, या अभी सिर्फ development में source code ही है
करीब 8 साल पहले अमेरिकी सरकार के aviation weather products में से एक के लिए एक “experimental” साइट थी, और वह सच में बहुत अच्छी थी। वह modern, इस्तेमाल में आसान और साफ-सुथरी थी, इसलिए आम अटपटी government website जैसी नहीं लगती थी, और टीम भी अच्छी लगती थी, लेकिन वह कुछ साल वाले government budget cycle में बंधी हुई थी। आखिरकार वह बंद हो गई, और जहाँ तक मुझे याद है, उस काम का नतीजा main site पर नहीं आया
अमेरिका भाग्यशाली है कि वहाँ बेहतरीन weather services हैं और उन्हें free public good के रूप में उपलब्ध कराने का दायित्व भी है। लेकिन इन्हें बहुत अच्छा न बनने देने के लिए political pressure भी काफी है, ताकि commercial companies मुनाफा कमा सकें। कम से कम 2005 में AccuWeather ऐसी ही कंपनियों में से एक थी: https://www.onthecommons.org/privatizing-weather/index.html
https://github.com/weather-gov/weather.gov/blob/smh--researc...
अच्छा काम हो रहा है। radar.weather.gov एक शानदार साइट है, सभी devices पर काम करती है, और बिना ads के बहुत अच्छी तरह चलती है, इसलिए उम्मीद है इसे बनाए रखेंगे
यह बहुत धीमी भी है, और पुराने version की तुलना में useful जानकारी भी कम देती है
सोच रहा हूँ कि क्या इसका असर api.weather.gov पर भी पड़ेगा। मैंने पहले Weather Underground से प्रेरित एक छोटा dashboard (https://weather.nikolaj.dev) बनाया था, और आज भी ज़्यादातर दिनों में वही इस्तेमाल करता हूँ
हालाँकि surf report के लिए marine forecast खुद बनाने का काम कुछ रुका हुआ है। अच्छा होगा अगर वे आखिरकार उन fields को भर दें। तब GRIB files को खुद समझने की मेहनत कम हो जाएगी
एक छोटी समस्या यह रही कि मैंने पहले ही दूसरी location दर्ज की थी, लेकिन कुछ सेकंड बाद यह San Diego के weather पर redirect हो गया। हो सकता है ऐसा इसलिए हुआ हो क्योंकि मैंने location request block कर दी थी
अच्छा होगा अगर सभी सरकारी open source projects एक ही जगह व्यवस्थित मिलें। उदाहरण के लिए, GitHub पर
usa-govorganization हो ताकि सभी repositories तक आसानी से पहुंचा जा सके[0] https://code.gov/agencies
[1] https://github.com/nationalsecurityagency
सरकार के लिए GitHub [0] है, लेकिन वह contributions पर निर्भर है और बहुत परिपक्व नहीं है
GSA ने Obama administration के समय code.gov इस लक्ष्य के साथ शुरू किया था कि सभी सरकारी projects का एक single index बनाया जाए। Trump administration में यह धीमा पड़ गया, और Biden administration में इसका बजट लगभग खत्म हो गया, इसलिए अब यह बस प्रमुख agencies की ओर link करता है और timely indexing की requirement भी अब नहीं रही
सिर्फ हमारी organization में ही लगभग 1000 repositories हैं, और ऐसी agencies सैकड़ों हैं, इसलिए बिना कुछ मेहनत के सब कुछ इकट्ठा कर लेना कल्पना से परे है। मूल code.gov काफ़ी अच्छा काम करता था: हर कोई अपनी वेबसाइट पर
code.jsonफ़ाइल डालता था और GSA उन्हें crawl करके एक जगह जोड़ देता था। इसलिए उसे बंद कर देना औरcode.jsonpublish करने का अनुरोध भी रोक देना वाकई अफ़सोसजनक है। यह अच्छा विचार था[0] https://government.github.com/community/
https://git.sr.ht/~codegouvfr/
यह उस भविष्य जैसा लगता है जिसकी ओर सभी federal agencies बढ़ सकती हैं। National Weather Service के आगे बढ़कर नेतृत्व करने पर सराहना
weather.gov के forecast graphs मेरे हिसाब से सबसे उपयोगी चीज़ों में हैं, और मौसम देखना हो तो मैं सबसे पहले वहीं जाता हूँ
उदाहरण: https://forecast.weather.gov/MapClick.php?lat=37.7771&lon=-1...
mpvमें खोल देती है, और आज या कल का मौसम जल्दी देखने के लिए मैं इसे एक बढ़िया तरीका मानता हूँterminal में
kitten icatसे दिखाने वाला shell alias भी है, लेकिनmpvshortcut मैं ज़्यादा इस्तेमाल करता हूँ। एक text weather alias भी है, जो नीचे दिए गए path से मेरे location के अनुसार फ़ाइलcurlकरके लाता है:https://tgftp.nws.noaa.gov/data/forecasts/zone/
मैंने अपने state की files देखकर सही फ़ाइल ढूँढी थी, लेकिन 7-दिन वाले forecast page पर “More Local Wx” link में सही filename भी लगता है। मेरे मामले में वह
ORZ006हैradar दिखाने वाले कुछ
icataliases भी बना रखे हैं। current, sequential और loop display के लिए, और radar names नीचे दिए गए पेज से लेता हूँ, जैसेradar.weather.govपर होते हैं:https://radar.weather.gov/ridge/standard/
हालांकि मुझे लगता है कि One hour accumulation view सबसे अच्छा है, लेकिन उस view की image लाने का तरीका नहीं मिल पाया, इसलिए मैं आम तौर पर
radar.weather.govही देखता हूँ। आजकल थोड़ा बेहतर है, लेकिन कभी-कभी मेरे लिए बिल्कुल काम नहीं करतामैं इन्हें बहुत बार नहीं देखता, लेकिन 6~10 दिन और monthly temperature/precipitation outlook दिखाने वाले
icataliases भी बना रखे हैं:https://www.cpc.ncep.noaa.gov/products/predictions/610day/
https://www.cpc.ncep.noaa.gov/products/predictions/30day/
contributing.MDफ़ाइल तो दिखती है, लेकिन वास्तव में कैसे contribute किया जा सकता है, यह समझना मुश्किल है। एक potential contributor के रूप में यह जानना अच्छा होगा कि योगदान देने का सबसे अच्छा तरीका क्या हैमैं नुक़्ता-चीनी नहीं कर रहा, बस उम्मीद है कि यह मददगार होगा
मैं उन लोगों के लिए API पर और बात की उम्मीद कर रहा था जो खुद custom experiences बनाते हैं। NOAA raw data देने में अच्छा है, लेकिन government services का consumption और use अक्सर कहीं ज़्यादा specific होता है
मैं यहाँ emergency response tools बना रहा हूँ। generative AI-first, continuous monitoring → alerts, chatbots, custom situation reports जैसी चीज़ें। रुचि हो तो मुझसे संपर्क कर सकते हैं
कई agencies, utilities वगैरह को specialized variants की ज़रूरत पड़ती है, इसलिए यह और स्पष्ट होता है कि weather.gov अंदरूनी तौर पर data और UI के जिस last-mile problem को हल कर रहा होगा, वह दूसरी agencies के लिए भी उपयोगी हो सकता है
जहाँ तक मुझे पता है, Weather.gov को NOAA के अंतर्गत NWS चलाता है, इसलिए इस मिशन revamp में उसका ज़िक्र न होना दिलचस्प है
थोड़ा संबंधित है, लेकिन व्यक्तिगत रूप से weather.gov पर मेरे लिए सबसे उपयोगी single URL यह है। बस latitude/longitude बदलना होता है
https://forecast.weather.gov/MapClick.php?FcstType=graphical...
काश इसी layout में पुराना डेटा भी देख पाना संभव होता