{"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/arxiv-2604-09041","title":"U-Cast: A Surprisingly Simple and Efficient Frontier Probabilistic AI Weather Forecaster","arxiv_id":"2604.09041","date":"2026-04-10","proceeding":"ICML","authors":["Salva Rühling Cachay","Duncan Watson-Parris","Rose Yu"],"abstract":"AI-based weather forecasting now rivals traditional physics-based ensembles, but state-of-the-art (SOTA) models rely on specialized architectures and massive computational budgets, creating a high barrier to entry. We demonstrate that such complexity is unnecessary for frontier performance. We introduce \\ours, a probabilistic forecaster built on a standard U-Net backbone trained with a simple recipe: deterministic pre-training on Mean Absolute Error followed by short probabilistic fine-tuning on the Continuous Ranked Probability Score (CRPS) using Monte Carlo Dropout for stochasticity. As a result, our model matches or exceeds the probabilistic skill of GenCast and IFS ENS at $1.5^\\circ$ resolution while reducing training compute by over $10\\times$ compared to leading CRPS-based models and inference latency by over $10\\times$ compared to diffusion-based models. U-Cast trains in under 12 H200 GPU-days and generates a 15-day ensemble forecast in 3 seconds. These results suggest that scalable, general-purpose architectures paired with efficient training curricula can match complex domain-specific designs at a fraction of the cost, opening the training of frontier probabilistic weather models to the broader community.","url_abs":"https://arxiv.org/abs/2604.09041","url_pdf":"https://arxiv.org/pdf/2604.09041","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2604.09041","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2604.09041"}},"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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/Rose-STL-Lab/u-cast","reach":null}],"summary":{"ran":5,"ran_fixture":2,"ran_draft_wrong":2,"unverified":6},"by_repo_kind":{"found_in_text":{"samples":15,"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":"bc9ac84ffbec918e","entry":"Conv2d","repo":"Rose-STL-Lab/u-cast","repo_kind":"found_in_text","path":"src/models/networks_edm.py","file_url":"https://github.com/Rose-STL-Lab/u-cast/blob/HEAD/src/models/networks_edm.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":"bc9ac84ffbec918e"}},{"code_sha256_prefix":"c5ea6da36bec358a","entry":"UNetBlock","repo":"Rose-STL-Lab/u-cast","repo_kind":"found_in_text","path":"src/models/networks_edm.py","file_url":"https://github.com/Rose-STL-Lab/u-cast/blob/HEAD/src/models/networks_edm.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":"c5ea6da36bec358a"}},{"code_sha256_prefix":"18863817b0c6f431","entry":"WeightedCRPS","repo":"Rose-STL-Lab/u-cast","repo_kind":"found_in_text","path":"src/models/networks_edm.py","file_url":"https://github.com/Rose-STL-Lab/u-cast/blob/HEAD/src/models/networks_edm.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"18863817b0c6f431"}},{"code_sha256_prefix":"cf350b6dd214bfc4","entry":"WeightedMAE","repo":"Rose-STL-Lab/u-cast","repo_kind":"found_in_text","path":"src/models/networks_edm.py","file_url":"https://github.com/Rose-STL-Lab/u-cast/blob/HEAD/src/models/networks_edm.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":"cf350b6dd214bfc4"}},{"code_sha256_prefix":"f6594489c2e4e57a","entry":"WeightedMSE","repo":"Rose-STL-Lab/u-cast","repo_kind":"found_in_text","path":"src/models/networks_edm.py","file_url":"https://github.com/Rose-STL-Lab/u-cast/blob/HEAD/src/models/networks_edm.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":"f6594489c2e4e57a"}},{"code_sha256_prefix":"6b4b0a52e7198412","entry":"crps_ensemble","repo":"Rose-STL-Lab/u-cast","repo_kind":"found_in_text","path":"src/models/networks_edm.py","file_url":"https://github.com/Rose-STL-Lab/u-cast/blob/HEAD/src/models/networks_edm.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"6b4b0a52e7198412"}},{"code_sha256_prefix":"fd84c604a3d07817","entry":"get_logger","repo":"Rose-STL-Lab/u-cast","repo_kind":"found_in_text","path":"src/models/networks_edm.py","file_url":"https://github.com/Rose-STL-Lab/u-cast/blob/HEAD/src/models/networks_edm.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"fd84c604a3d07817"}},{"code_sha256_prefix":"08774a8177349136","entry":"get_loss","repo":"Rose-STL-Lab/u-cast","repo_kind":"found_in_text","path":"src/models/networks_edm.py","file_url":"https://github.com/Rose-STL-Lab/u-cast/blob/HEAD/src/models/networks_edm.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"08774a8177349136"}},{"code_sha256_prefix":"d41a4250066bce93","entry":"weight_init","repo":"Rose-STL-Lab/u-cast","repo_kind":"found_in_text","path":"src/models/networks_edm.py","file_url":"https://github.com/Rose-STL-Lab/u-cast/blob/HEAD/src/models/networks_edm.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d41a4250066bce93"}},{"code_sha256_prefix":"38b46ea4d645cbcc","entry":"AbstractWeightedLoss","repo":"Rose-STL-Lab/u-cast","repo_kind":"found_in_text","path":"src/models/networks_edm.py","file_url":"https://github.com/Rose-STL-Lab/u-cast/blob/HEAD/src/models/networks_edm.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"38b46ea4d645cbcc"}},{"code_sha256_prefix":"4c33843a004df581","entry":"AttentionOp","repo":"Rose-STL-Lab/u-cast","repo_kind":"found_in_text","path":"src/models/networks_edm.py","file_url":"https://github.com/Rose-STL-Lab/u-cast/blob/HEAD/src/models/networks_edm.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4c33843a004df581"}},{"code_sha256_prefix":"ce9f25067b473473","entry":"BaseModel","repo":"Rose-STL-Lab/u-cast","repo_kind":"found_in_text","path":"src/models/networks_edm.py","file_url":"https://github.com/Rose-STL-Lab/u-cast/blob/HEAD/src/models/networks_edm.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"ce9f25067b473473"}},{"code_sha256_prefix":"2888869bc2199f21","entry":"DhariwalUNet","repo":"Rose-STL-Lab/u-cast","repo_kind":"found_in_text","path":"src/models/networks_edm.py","file_url":"https://github.com/Rose-STL-Lab/u-cast/blob/HEAD/src/models/networks_edm.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"2888869bc2199f21"}},{"code_sha256_prefix":"70c2e7a5547a47f9","entry":"disable_inference_dropout","repo":"Rose-STL-Lab/u-cast","repo_kind":"found_in_text","path":"src/models/networks_edm.py","file_url":"https://github.com/Rose-STL-Lab/u-cast/blob/HEAD/src/models/networks_edm.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"70c2e7a5547a47f9"}},{"code_sha256_prefix":"9d02993302ab66d8","entry":"enable_inference_dropout","repo":"Rose-STL-Lab/u-cast","repo_kind":"found_in_text","path":"src/models/networks_edm.py","file_url":"https://github.com/Rose-STL-Lab/u-cast/blob/HEAD/src/models/networks_edm.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"9d02993302ab66d8"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}