{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/gencast-diffusion-based-ensemble-forecasting","title":"GenCast: Diffusion-based ensemble forecasting for medium-range weather","arxiv_id":"2312.15796","date":"2023-12-25","proceeding":null,"authors":["Ilan Price","Alvaro Sanchez-Gonzalez","Ferran Alet","Tom R. Andersson","Andrew El-Kadi","Dominic Masters","Timo Ewalds","Jacklynn Stott","Shakir Mohamed","Peter Battaglia","Remi Lam","Matthew Willson"],"abstract":"Weather forecasts are fundamentally uncertain, so predicting the range of probable weather scenarios is crucial for important decisions, from warning the public about hazardous weather, to planning renewable energy use. Here, we introduce GenCast, a probabilistic weather model with greater skill and speed than the top operational medium-range weather forecast in the world, the European Centre for Medium-Range Forecasts (ECMWF)'s ensemble forecast, ENS. Unlike traditional approaches, which are based on numerical weather prediction (NWP), GenCast is a machine learning weather prediction (MLWP) method, trained on decades of reanalysis data. GenCast generates an ensemble of stochastic 15-day global forecasts, at 12-hour steps and 0.25 degree latitude-longitude resolution, for over 80 surface and atmospheric variables, in 8 minutes. It has greater skill than ENS on 97.4% of 1320 targets we evaluated, and better predicts extreme weather, tropical cyclones, and wind power production. This work helps open the next chapter in operational weather forecasting, where critical weather-dependent decisions are made with greater accuracy and efficiency.","url_abs":"https://arxiv.org/abs/2312.15796v2","url_pdf":"https://arxiv.org/pdf/2312.15796v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"gencast-diffusion-based-ensemble-forecasting","repo_url":"https://github.com/PaddlePaddle/PaddleScience","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"paddle","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"gencast-diffusion-based-ensemble-forecasting","repo_url":"https://github.com/deepmind/graphcast","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"jax","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"gencast-diffusion-based-ensemble-forecasting","repo_url":"https://github.com/google-deepmind/graphcast","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"jax","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"decision-making","task_name":"Decision Making"},{"task_slug":"weather-forecasting","task_name":"Weather Forecasting"}],"methods":[{"method_slug":"speed","method_name":"SPEED"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2312.15796","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2312.15796"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/deepmind/graphcast","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/PaddlePaddle/PaddleScience","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/google-deepmind/graphcast","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":9},"by_repo_kind":{"listed":{"samples":9,"ran":9,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"69ca509f0106138c","entry":"divides_with_tolerance","repo":"deepmind/graphcast","repo_kind":"listed","path":"weathernext/cyclones/data_pipeline_utils.py","file_url":"https://github.com/deepmind/graphcast/blob/HEAD/weathernext/cyclones/data_pipeline_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"69ca509f0106138c"}},{"code_sha256_prefix":"f955bba3ee2e1848","entry":"filter_variables_for_reduced_dataset","repo":"deepmind/graphcast","repo_kind":"listed","path":"weathernext/cyclones/ibtracs_processing_utils.py","file_url":"https://github.com/deepmind/graphcast/blob/HEAD/weathernext/cyclones/ibtracs_processing_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f955bba3ee2e1848"}},{"code_sha256_prefix":"6c5a4d72f94f5f3b","entry":"is_east_of","repo":"deepmind/graphcast","repo_kind":"listed","path":"weathernext/cyclones/ibtracs_processing_utils.py","file_url":"https://github.com/deepmind/graphcast/blob/HEAD/weathernext/cyclones/ibtracs_processing_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"6c5a4d72f94f5f3b"}},{"code_sha256_prefix":"f3e275643a459ea1","entry":"is_north_of","repo":"deepmind/graphcast","repo_kind":"listed","path":"weathernext/cyclones/ibtracs_processing_utils.py","file_url":"https://github.com/deepmind/graphcast/blob/HEAD/weathernext/cyclones/ibtracs_processing_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f3e275643a459ea1"}},{"code_sha256_prefix":"8047cf02147c1498","entry":"jax_gather","repo":"deepmind/graphcast","repo_kind":"listed","path":"weathernext/utils/typed_graph_net.py","file_url":"https://github.com/deepmind/graphcast/blob/HEAD/weathernext/utils/typed_graph_net.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"8047cf02147c1498"}},{"code_sha256_prefix":"ee7d50c552792c79","entry":"lat_lon_deg_to_spherical","repo":"deepmind/graphcast","repo_kind":"listed","path":"weathernext/utils/model_utils.py","file_url":"https://github.com/deepmind/graphcast/blob/HEAD/weathernext/utils/model_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"ee7d50c552792c79"}},{"code_sha256_prefix":"d61da5702a7f6cee","entry":"latlon_to_cartesian","repo":"deepmind/graphcast","repo_kind":"listed","path":"weathernext/cyclones/cyclone_utils.py","file_url":"https://github.com/deepmind/graphcast/blob/HEAD/weathernext/cyclones/cyclone_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d61da5702a7f6cee"}},{"code_sha256_prefix":"7d61de7dff3ee418","entry":"num_lat_rectilinear_grid","repo":"deepmind/graphcast","repo_kind":"listed","path":"weathernext/cyclones/data_pipeline_utils.py","file_url":"https://github.com/deepmind/graphcast/blob/HEAD/weathernext/cyclones/data_pipeline_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"7d61de7dff3ee418"}},{"code_sha256_prefix":"4efe6131e90688b5","entry":"num_lon_rectilinear_grid","repo":"deepmind/graphcast","repo_kind":"listed","path":"weathernext/cyclones/data_pipeline_utils.py","file_url":"https://github.com/deepmind/graphcast/blob/HEAD/weathernext/cyclones/data_pipeline_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4efe6131e90688b5"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}