[{"data":1,"prerenderedAt":659},["ShallowReactive",2],{"project-28499910":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":27,"sentiment":28,"stance_mix":29,"scored_comments":34,"aspects":35,"strip":46,"post_text":48,"what":49,"said":111,"maker_in_thread":207,"shape":216,"grid":220,"attempts":620,"same_week":621,"maker_shows":40,"maker_hidden":651,"reader_version":652,"card":653},"28499910","Open-Meteo","Weather API for non-commercial use","title","Show HN: Weather API for non-commercial use","https:\u002F\u002Fopen-meteo.com\u002Fen\u002Fdocs","open-meteo.com","meteo-jeff",1631441911,2021,443,147,56,2533,3,"legend","infrastructure","weather api","api",[21,24,25,26],"weather forecast","open data","forecast api","curious",0.321,{"positive":30,"neutral":31,"mixed":32,"critical":33},26,36,0,7,69,{"execution":36,"design":39,"idea":41,"docs":43,"performance":44,"pricing":45},{"positive":37,"critical":38},5,2,{"positive":18,"critical":40},1,{"positive":42,"critical":38},10,{"positive":40,"critical":32},{"positive":32,"critical":38},{"positive":32,"critical":32},[37,18,47,18,32,37,32,18,18,40,18,32,18,37,37,32,18,32,32,37,40,18,37,18,37,18,40,37,37,37,18,37,47,18,18,37,37,18,18,37],4,null,{"problem":50,"audience":57,"pricing":61,"motivation":71,"time_to_build":48,"stack":78,"openness":108,"stage":109,"team_size":110},{"value":51,"source":52,"evidence":53},"Weather model data from national services is hard to use without NetCDF\u002FGRIB expertise","maker",[54],{"id":55,"by":11,"text":56},"28504740","Creator from Open-Meteo here, I build a small, but very fast and precise weather forecast API for non-commercial use. I am a private individual working on it in my spare time.…",{"value":58,"source":52,"evidence":59},"Developers building simple apps, websites and home automation",[60],{"id":55,"by":11,"text":56},{"value":62,"source":52,"evidence":63},"Free for non-commercial use, no API key",[64,65,68],{"id":55,"by":11,"text":56},{"id":66,"by":11,"text":67},"28521201","I chose the \"Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)\" license to start the project without worrying about legal issues. Because the API is offered without API…",{"id":69,"by":11,"text":70},"28518126","I do not actively prevent commercial use. I stated a non-commercial license as precaution to prevent all kinds of legal complications. Mainly I also intent to reach open-source…",{"value":72,"source":52,"evidence":73},"Exercise in processing German weather service data and making it accessible",[74,75],{"id":55,"by":11,"text":56},{"id":76,"by":11,"text":77},"28516500","My personal preference for Swift was for sure a major aspect. I also like to profile my code and see how much I can out of it. It is more an academical challenge to compare…",[79,88,92,96,100,104],{"value":80,"source":52,"evidence":81},"Swift",[82,85],{"id":83,"by":11,"text":84},"28516069","The API backend is written in Swift with some code in C (conversion Float16, interpolations, some solar radiation libraries). Data are read directly via mmap from local NVMe SSD…",{"id":86,"by":11,"text":87},"28518157","API \u002F processing: Swift + Vapor with modules in C, a lot of libraries to work with scientific data formats. Hosted on cheap rented VMs with Nginx in the front. Frontent:…",{"value":89,"source":52,"evidence":90},"Vapor",[91],{"id":86,"by":11,"text":87},{"value":93,"source":52,"evidence":94},"C",[95],{"id":83,"by":11,"text":84},{"value":97,"source":52,"evidence":98},"Nginx",[99],{"id":86,"by":11,"text":87},{"value":101,"source":52,"evidence":102},"Bootstrap",[103],{"id":86,"by":11,"text":87},{"value":105,"source":52,"evidence":106},"jQuery",[107],{"id":86,"by":11,"text":87},"free","launched","solo",{"praise":112,"objections":136,"requests":148,"questions":179,"alternatives":188},[113,122,129],{"value":114,"source":115,"evidence":116},"Fast API responses and good forecast quality","commenter",[117,118],{"id":55,"by":11,"text":56},{"id":119,"by":120,"text":121},"28516161","vorpalhex","Looks great. What is the funding model for the project? What are the current costs?",{"value":123,"source":115,"evidence":124},"Historical data in the same API call",[125],{"id":126,"by":127,"text":128},"28506606","Leftium","I've investigated and tried several (free) weather API's for my web app: https:\u002F\u002Fuw.leftium.com. Open-Meteo looks pretty good! The only thing that seems to be missing for me is…",{"value":130,"source":115,"evidence":131},"Good UI for generating API URLs",[132],{"id":133,"by":134,"text":135},"28516204","dylan604","I like the UI generating the URL to send to the API vs just a PDF of all of the possible key\u002Fvalue pairs to generate manually. A little above&beyond for most APIs I've used…",[137,144],{"value":138,"source":115,"evidence":139},"Non-commercial license limits use",[140],{"id":141,"by":142,"text":143},"28518401","classichasclass","I respect and appreciate no API key being needed, but how will you prevent excessive usage? I'll just say that it's been a battle on my end to stop people abusing APIs I deploy.…",{"value":145,"source":115,"evidence":146},"Missing precipitation probability",[147],{"id":126,"by":127,"text":128},[149,159,170],{"value":150,"source":52,"evidence":151},"Ensemble forecasts",[152,156],{"id":153,"by":154,"text":155},"28520616","kqr","One thing I'm missing from virtually every weather service is access to ensemble forecasts. Meteorologists internally deal in ensemble forecasts, but never, as far as I know,…",{"id":157,"by":11,"text":158},"28520925","Including ensemble forecasts into Open-Meteo is already on my backlog. And yes, this will return those 90% confidence intervals. Forecast variability is difficult to express. For…",{"value":160,"source":115,"evidence":161},"Longer historical data",[162,166],{"id":163,"by":164,"text":165},"28518232","pier25","Do you offer historical data?",{"id":167,"by":168,"text":169},"28516742","sails","Thats cool, I'll be having a closer look. I'm working on an xbar plugin app [1][2] that alerts me when there is a warmer day in the coming week. I used VisualCrossing [3] which…",{"value":171,"source":52,"evidence":172},"Precipitation probability",[173,176],{"id":174,"by":11,"text":175},"28508511","Thanks for your suggestions! I will add precipitation probability as soon as I include 14-day ensemble weather models. Deterministic whether models usually do not offer this…",{"id":177,"by":11,"text":178},"28521086","That's cool :) I like this idea. Yes, please use the WMO weather code for that. I will also add precipitation probability in the next weeks. At >50% precipitation probability the…",[180,184],{"value":181,"source":115,"evidence":182},"How will excessive usage be prevented",[183],{"id":141,"by":142,"text":143},{"value":185,"source":115,"evidence":186},"What is the funding model and cost",[187],{"id":119,"by":120,"text":121},[189,193,197,201],{"value":190,"source":115,"evidence":191},"OpenWeatherMap",[192],{"id":126,"by":127,"text":128},{"value":194,"source":115,"evidence":195},"Visual Crossing",[196],{"id":126,"by":127,"text":128},{"value":198,"source":115,"evidence":199},"Dark Sky",[200],{"id":126,"by":127,"text":128},{"value":202,"source":52,"evidence":203},"Brightsky",[204],{"id":205,"by":11,"text":206},"28512404","I also tried brightsky.dev, but it is limited to weather stations in the MOSMIX system. IRRC only Germany. In terms of forecast quality, MOSMIX should be great! One goal of mine,…",{"comments":208,"answered":209,"key":210},35,20,[211,212,213],{"id":55,"text":56},{"id":174,"text":175},{"id":214,"text":215},"28512307","At whatever time of day you call the API, data always starts at 0:00. Either UTC or the time zone you selected. Many weather APIs follow weather model runs. Therefore in the…",{"commenters":217,"max_depth":33,"maker_replies":208,"first_comment_mins":218,"lifespan_hours":219},70,627,123,[221,223,225,227,230,232,236,238,240,242,246,249,252,254,256,260,264,266,269,271,273,276,278,281,283,287,289,291,294,297,301,303,305,308,312,314,317,319,321,323,324,327,330,332,333,336,338,340,343,346,348,350,353,355,358,360,362,364,367,370,371,375,379,381,384,387,390,393,396,400,402,404,407,410,415,418,420,422,424,426,429,434,437,441,443,445,448,451,453,457,459,461,465,467,469,472,476,478,483,486,488,490,493,497,500,504,507,511,512,516,519,520,524,525,529,530,534,537,541,543,545,547,550,552,556,557,560,564,567,571,572,576,580,582,584,588,591,593,596,598,600,602,606,608,612,616,618],[55,32,32,222,11,40],"project\u002Fpositive\u002Fidea",[126,40,37,224,127,32],"project\u002Fpositive\u002Fexecution",[174,40,32,226,11,40],"maker\u002Fneutral\u002Fnone",[228,40,18,229,127,32],"28510158","project\u002Fneutral\u002Fdesign",[214,40,32,231,11,40],"maker\u002Fneutral\u002Fdesign",[233,40,18,234,235,32],"28518968","project\u002Fneutral\u002Fidea","anakaine",[237,40,32,226,11,40],"28522106",[239,40,18,234,235,32],"28522540",[241,40,18,234,154,32],"28520663",[243,40,18,244,245,32],"28523487","project\u002Fneutral\u002Fdocs","a_square_peg",[247,40,37,222,248,32],"28522200","BrandoElFollito",[250,40,18,229,251,32],"28517472","shoto_io",[253,40,32,226,11,40],"28517893",[255,40,18,229,127,32],"28518099",[257,40,32,258,259,32],"28519431","commenter\u002Fneutral\u002Fdesign","cstrat",[261,40,32,262,263,32],"28520136","other\u002Fneutral\u002Fnone","pjerem",[265,40,32,258,127,32],"28520465",[267,40,32,262,268,32],"28521780","tlamponi",[270,40,32,258,127,32],"28522066",[272,40,32,262,127,32],"28524582",[274,40,18,229,275,32],"28520586","niatrecsa",[277,40,37,224,127,32],"28520707",[279,40,32,258,280,32],"28521500","severak_cz",[282,40,32,262,127,32],"28524761",[284,40,32,285,286,32],"28565107","commenter\u002Fneutral\u002Fnone","damienpirsy",[288,40,18,229,251,32],"28521955",[290,40,18,229,127,32],"28522008",[292,40,18,234,293,32],"28518188","layoric",[295,40,18,234,296,32],"28518809","moehm",[298,40,18,299,300,32],"28521252","project\u002Fneutral\u002Fnone","fasteo",[302,40,32,262,127,32],"28521276",[304,40,32,262,300,32],"28521665",[306,40,32,262,307,32],"28523319","mmikeff",[309,40,40,310,311,32],"28522141","project\u002Fcritical\u002Fexecution","croisillon",[313,40,40,310,127,32],"28522171",[315,40,18,316,311,32],"28522261","project\u002Fneutral\u002Fexecution",[318,40,18,229,127,32],"28522286",[320,40,32,262,248,32],"28522344",[322,40,32,262,127,32],"28522380",[153,38,18,234,154,32],[325,38,32,262,326,32],"28520732","Ueland",[328,38,32,262,329,32],"28520735","pathseeker",[331,38,32,262,154,32],"28521245",[157,38,32,226,11,40],[334,38,18,234,335,32],"28521048","leifdenby",[337,38,32,285,154,32],"28521317",[339,38,32,262,335,32],"28520992",[341,38,32,342,154,32],"28521295","commenter\u002Fpositive\u002Fnone",[344,18,37,222,345,32],"28519368","jareklupinski",[177,18,32,347,11,40],"maker\u002Fpositive\u002Fidea",[133,47,37,349,134,32],"project\u002Fpositive\u002Fdesign",[351,47,37,349,352,32],"28520937","zestyping",[354,47,32,231,11,40],"28521281",[356,47,32,285,357,32],"28521562","wasmitnetzen",[359,47,32,226,11,40],"28522139",[361,47,32,285,357,32],"28522736",[363,47,32,262,127,32],"28522469",[365,47,32,262,366,32],"28523344","tomaskafka",[368,47,32,262,369,32],"28525616","alin23",[141,37,18,226,142,32],[372,37,32,373,374,32],"28518484","commenter\u002Fneutral\u002Fperformance","Wowfunhappy",[376,37,32,377,378,32],"28518629","commenter\u002Fcritical\u002Fperformance","ianlevesque",[380,37,32,258,374,32],"28518785",[382,37,32,285,383,32],"28518885","Arnavion",[385,37,32,258,386,32],"28522002","cube00",[388,37,32,258,389,32],"28518774","stavros",[391,37,32,392,374,32],"28519092","commenter\u002Fcritical\u002Fdesign",[394,37,32,395,11,40],"28521018","maker\u002Fneutral\u002Fperformance",[397,398,32,262,399,32],"28519030",6,"arthurcolle",[401,398,32,226,11,40],"28520973",[403,398,32,262,245,32],"28523563",[405,33,37,222,406,32],"28517752","BHSPitMonkey",[408,33,37,222,409,32],"28528316","robmiller",[411,412,40,413,414,32],"28520918",8,"project\u002Fcritical\u002Fperformance","asaddhamani",[416,412,18,299,417,32],"28521074","MariusE",[419,412,40,413,414,32],"28521283",[421,412,32,262,245,32],"28523535",[423,412,32,262,414,32],"28527883",[425,412,32,262,245,32],"28530283",[427,412,18,299,428,32],"28525694","konradx",[430,431,37,432,433,32],"28517566",9,"maker\u002Fpositive\u002Fexecution","filleokus",[435,431,32,436,11,40],"28517714","maker\u002Fneutral\u002Fexecution",[438,431,18,439,440,32],"28518169","project\u002Fneutral\u002Fperformance","modeless",[442,431,32,395,11,40],"28518335",[444,431,32,373,440,32],"28518343",[446,431,32,447,11,40],"28521044","maker\u002Fpositive\u002Fperformance",[449,42,18,299,450,32],"28519281","jxy",[452,42,32,299,11,40],"28521136",[454,455,18,456,369,32],"28525948",11,"project\u002Fneutral\u002Fpricing",[458,455,32,432,11,40],"28537995",[460,455,37,224,369,32],"28539094",[462,463,18,234,464,32],"28517776",12,"cetra3",[466,463,32,226,11,40],"28517868",[468,463,18,234,464,32],"28517966",[470,463,32,262,471,32],"28518661","mhb_eng",[473,474,18,439,475,32],"28517918",13,"syedkarim",[477,474,32,447,11,40],"28518084",[479,480,40,481,482,32],"28518143",14,"project\u002Fcritical\u002Fdesign","berkut",[484,480,32,485,11,40],"28518186","maker\u002Fpositive\u002Fdesign",[167,487,37,222,168,32],15,[489,487,32,347,11,40],"28516983",[491,487,37,492,168,32],"28517162","project\u002Fpositive\u002Fnone",[494,495,37,222,496,32],"28518138",16,"xd1936",[498,495,32,499,11,40],"28518270","maker\u002Fneutral\u002Fidea",[501,502,37,222,503,32],"28522642",17,"darekkay",[505,502,32,506,11,40],"28538017","maker\u002Fpositive\u002Fpricing",[508,509,37,492,510,32],"28516412",18,"salamander014",[76,509,32,436,11,40],[513,514,32,262,515,32],"28521835",19,"NicoJuicy",[517,209,18,395,518,32],"28515951","fifthofhisname",[83,209,32,447,11,40],[521,209,18,522,523,32],"28517803","maker\u002Fneutral\u002Fpricing","ricksunny",[69,209,32,522,11,40],[526,527,37,222,528,32],"28508099",21,"ubergesundheit",[205,527,32,499,11,40],[531,532,37,533,523,32],"28517923",22,"maker\u002Fpositive\u002Fdocs",[535,532,32,536,11,40],"28517984","maker\u002Fneutral\u002Fdocs",[538,539,37,222,540,32],"28522191",23,"enjikaka",[163,542,18,299,164,32],24,[544,542,32,226,11,40],"28518289",[546,542,18,244,164,32],"28519091",[548,542,32,262,549,32],"28521391","e_proxus",[551,542,32,285,164,32],"28525027",[553,554,18,436,555,32],"28518120",25,"itwy",[86,554,32,436,11,40],[558,30,37,222,559,32],"28516153","flippyhead",[561,562,18,234,563,32],"28519396",27,"keithnz",[565,562,40,566,326,32],"28520762","project\u002Fcritical\u002Fidea",[568,562,32,569,570,32],"28520868","commenter\u002Fneutral\u002Fidea","phonon",[66,562,32,499,11,40],[573,574,37,224,575,32],"28518328",28,"jb_s",[577,578,37,492,579,32],"28518181",29,"chuckreynolds",[119,581,18,456,120,32],30,[583,581,32,456,11,40],"28516368",[585,581,37,586,587,32],"28516785","maker\u002Fpositive\u002Fnone","0des",[589,581,18,439,590,32],"28517029","counters",[592,581,32,439,11,40],"28517176",[594,581,18,456,595,32],"28521449","tehlike",[597,581,32,456,11,40],"28522230",[599,581,18,439,595,32],"28531091",[601,581,37,586,120,32],"28518553",[603,604,40,566,605,32],"28518446",31,"_oydo",[607,604,32,234,11,40],"28521235",[609,610,37,586,611,32],"28518822",32,"spicybright",[613,614,37,349,615,32],"28517063",33,"xcambar",[617,614,32,316,11,40],"28517279",[619,614,37,586,615,32],"28519350",[],[622,627,632,637,641,646],{"id":623,"name":624,"points":625,"category":626},"28539247","Replay",681,"dev_tools",{"id":628,"name":629,"points":630,"category":631},"28481913","Medusa",373,"web_saas",{"id":633,"name":634,"points":635,"category":636},"28469399","Checkboxland",202,"creative",{"id":638,"name":639,"points":640,"category":626},"28468660","Appliku",183,{"id":642,"name":643,"points":644,"category":645},"28542977","Paper to HTML",153,"learning_science",{"id":647,"name":648,"points":649,"category":650},"28468790","FractalCrypt 2.0",128,"security_privacy",false,"v2",{"id":654,"name":5,"line":6,"ai":651,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":655,"top":18,"kw":656,"maker":11,"domain":10,"tier":19,"attempts":32,"strip":657,"url":9,"mix":658,"praise":114,"objection":138,"sub":21},28499910,0.32,[21,24,25,26],"5343050331303550300513535315553543355335",[30,31,32,33],1794036611138]