{"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/huge-ensembles-part-i-design-of-ensemble","title":"Huge Ensembles Part I: Design of Ensemble Weather Forecasts using Spherical Fourier Neural Operators","arxiv_id":"2408.03100","date":"2024-08-06","proceeding":null,"authors":["Ankur Mahesh","William Collins","Boris Bonev","Noah Brenowitz","Yair Cohen","Joshua Elms","Peter Harrington","Karthik Kashinath","Thorsten Kurth","Joshua North","Travis OBrien","Michael Pritchard","David Pruitt","Mark Risser","Shashank Subramanian","Jared Willard"],"abstract":"Studying low-likelihood high-impact extreme weather events in a warming world is a significant and challenging task for current ensemble forecasting systems. While these systems presently use up to 100 members, larger ensembles could enrich the sampling of internal variability. They may capture the long tails associated with climate hazards better than traditional ensemble sizes. Due to computational constraints, it is infeasible to generate huge ensembles (comprised of 1,000-10,000 members) with traditional, physics-based numerical models. In this two-part paper, we replace traditional numerical simulations with machine learning (ML) to generate hindcasts of huge ensembles. In Part I, we construct an ensemble weather forecasting system based on Spherical Fourier Neural Operators (SFNO), and we discuss important design decisions for constructing such an ensemble. The ensemble represents model uncertainty through perturbed-parameter techniques, and it represents initial condition uncertainty through bred vectors, which sample the fastest growing modes of the forecast. Using the European Centre for Medium-Range Weather Forecasts Integrated Forecasting System (IFS) as a baseline, we develop an evaluation pipeline composed of mean, spectral, and extreme diagnostics. Using large-scale, distributed SFNOs with 1.1 billion learned parameters, we achieve calibrated probabilistic forecasts. As the trajectories of the individual members diverge, the ML ensemble mean spectra degrade with lead time, consistent with physical expectations. However, the individual ensemble members' spectra stay constant with lead time. Therefore, these members simulate realistic weather states, and the ML ensemble thus passes a crucial spectral test in the literature. The IFS and ML ensembles have similar Extreme Forecast Indices, and we show that the ML extreme weather forecasts are reliable and discriminating.","url_abs":"https://arxiv.org/abs/2408.03100v3","url_pdf":"https://arxiv.org/pdf/2408.03100v3.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":"huge-ensembles-part-i-design-of-ensemble","repo_url":"https://github.com/NVIDIA/modulus-makani","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"huge-ensembles-part-i-design-of-ensemble","repo_url":"https://github.com/ankurmahesh/earth2mip-fork","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"jax","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"weather-forecasting","task_name":"Weather Forecasting"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2408.03100","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2408.03100"}},"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/ankurmahesh/earth2mip-fork","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/NVIDIA/modulus-makani","reach":{"status":"ok","spdx":"NOASSERTION"}}],"summary":{"ran":5,"unverified":1},"by_repo_kind":{"official":{"samples":6,"ran":5,"repositories":2}},"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":4,"samples":[{"code_sha256_prefix":"711bacc6bbdbb09a","entry":"compare_model_parameters","repo":"NVIDIA/modulus-makani","repo_kind":"official","path":"makani/models/helpers.py","file_url":"https://github.com/NVIDIA/modulus-makani/blob/HEAD/makani/models/helpers.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"711bacc6bbdbb09a"}},{"code_sha256_prefix":"2cf8bccd7f94847a","entry":"get_times","repo":"ankurmahesh/earth2mip-fork","repo_kind":"official","path":"earth2mip/_cli_utils.py","file_url":"https://github.com/ankurmahesh/earth2mip-fork/blob/HEAD/earth2mip/_cli_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":"2cf8bccd7f94847a"}},{"code_sha256_prefix":"083dd7fa272c6833","entry":"nearest_number","repo":"ankurmahesh/earth2mip-fork","repo_kind":"official","path":"earth2mip/score_extreme_diagnostics.py","file_url":"https://github.com/ankurmahesh/earth2mip-fork/blob/HEAD/earth2mip/score_extreme_diagnostics.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"083dd7fa272c6833"}},{"code_sha256_prefix":"ea226ce2b373c543","entry":"parse_comm_grid","repo":"NVIDIA/modulus-makani","repo_kind":"official","path":"makani/convert_checkpoint.py","file_url":"https://github.com/NVIDIA/modulus-makani/blob/HEAD/makani/convert_checkpoint.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"ea226ce2b373c543"}},{"code_sha256_prefix":"4281f27c10087eb9","entry":"toep","repo":"NVIDIA/modulus-makani","repo_kind":"official","path":"makani/models/noise.py","file_url":"https://github.com/NVIDIA/modulus-makani/blob/HEAD/makani/models/noise.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"4281f27c10087eb9"}},{"code_sha256_prefix":"2b319c6a2a042914","entry":"run_eager","repo":"NVIDIA/modulus-makani","repo_kind":"official","path":"makani/models/noise.py","file_url":"https://github.com/NVIDIA/modulus-makani/blob/HEAD/makani/models/noise.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"2b319c6a2a042914"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}