{"id":16341528,"url":"https://github.com/psibi/weather_noaa","last_synced_at":"2025-03-23T00:32:31.921Z","repository":{"id":51249225,"uuid":"352356319","full_name":"psibi/weather_noaa","owner":"psibi","description":"Rust parser for NOAA weather data","archived":false,"fork":false,"pushed_at":"2023-12-31T12:57:45.000Z","size":105,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-18T15:54:16.968Z","etag":null,"topics":["rust","weather","weather-api"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/psibi.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2021-03-28T14:49:37.000Z","updated_at":"2024-04-06T15:34:20.000Z","dependencies_parsed_at":"2024-01-05T12:18:27.871Z","dependency_job_id":null,"html_url":"https://github.com/psibi/weather_noaa","commit_stats":{"total_commits":28,"total_committers":2,"mean_commits":14.0,"dds":0.0357142857142857,"last_synced_commit":"812805d3e4a10efb2ff9c5ee23c7980c8111d28b"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/psibi%2Fweather_noaa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/psibi%2Fweather_noaa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/psibi%2Fweather_noaa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/psibi%2Fweather_noaa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/psibi","download_url":"https://codeload.github.com/psibi/weather_noaa/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245040235,"owners_count":20551297,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["rust","weather","weather-api"],"created_at":"2024-10-10T23:59:40.831Z","updated_at":"2025-03-23T00:32:31.603Z","avatar_url":"https://github.com/psibi.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# weathernoaa\n\n[![CI](https://github.com/psibi/weather_noaa/actions/workflows/ci.yml/badge.svg)](https://github.com/psibi/weather_noaa/actions)\n\nAPI wrapper over NOAA's observatory data to find weather\ninformation. For finding the weather information, you need to know the\nname of the station code which can be obtained from [here](https://www.weather.gov/arh/stationlist). In\ngeneral, figuring out station IDs is harder. These are the various\nresources I usually use (if you find any source, please send a PR):\n\n- [Archive.org's NOAA reference list showing identification numbers and information for each station in the Federal Climate Complex ISD](https://web.archive.org/web/20170119213347/ftp://ftp.ncdc.noaa.gov/pub/data/noaa/isd-history.txt)\n- [Station list](https://www.ncei.noaa.gov/pub/data/noaa/isd-history.txt)\n- [METAR Observation Station Identifiers](https://www.cnrfc.noaa.gov/metar.php)\n- [India METAR Station ID](https://amssdelhi.gov.in/Palam1.php)\n\nYou can find all the [supported station id](https://tgftp.nws.noaa.gov/data/observations/metar/stations/) here. Alternatively,\nyou can also use the executable in the repository to confirm that it\nworks:\n\n``` shellsession\n❯ cargo run --bin noaa info --station-id VOBL\n    Finished dev [unoptimized + debuginfo] target(s) in 0.05s\n     Running `target/debug/noaa info --station-id VOBL`\nWeatherInfo {\n    station: None,\n    weather_time: WeatherTime {\n        year: 2023,\n        month: 12,\n        day: 30,\n        time: \"1330 UTC\",\n    },\n    wind: WindInfo {\n        cardinal: \"E\",\n        azimuth: \"080\",\n        mph: \"9\",\n        knots: \"8\",\n    },\n    visibility: \"greater than 7 mile(s):0\",\n    sky_condition: \"mostly clear\",\n    weather: None,\n    temperature: Temperature {\n        celsius: 23,\n        fahrenheit: 73,\n    },\n    dewpoint: Temperature {\n        celsius: 14,\n        fahrenheit: 57,\n    },\n    relative_humidity: \"56%\",\n    pressure: 1017,\n}\n```\n\n\n## API Usage\n\n``` rust\nuse anyhow::Result;\nuse weathernoaa::weather::*;\n\n#[tokio::main]\nasync fn main() -\u003e Result\u003c()\u003e {\n    let result = get_weather(\"VOBL\".into()).await?;\n    println!(\"{:#?}\", result);\n    Ok(())\n}\n```\n\nRunning it will give this:\n\n``` rust\nWeatherInfo {\n station: None,\n  weather_time:\n   WeatherTime {\n    year: 2021,\n    month: 5,\n    day: 16,\n    time: \"1200 UTC\",\n   },\n  wind:\n   WindInfo {\n    cardinal: \"SSW\",\n    azimuth: \"210\",\n    mph: \"10\",\n    knots: \"9\",\n   },\n  visibility: \"4 mile(s):0\",\n  sky_condition: \"partly cloudy\",\n  weather: Some(\"light drizzle\"),\n  temperature: Temperature {\n    celsius: 26,\n    fahrenheit: 78,\n  },\n  dewpoint: Temperature {\n    celsius: 19,\n    fahrenheit: 66,\n  },\n  relative_humidity: \"65%\",\n  pressure: 1010,\n};\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpsibi%2Fweather_noaa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpsibi%2Fweather_noaa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpsibi%2Fweather_noaa/lists"}