{"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/super-resolution-probabilistic-rain","title":"Super-resolution Probabilistic Rain Prediction from Satellite Data Using 3D U-Nets and EarthFormers","arxiv_id":"2212.02998","date":"2022-12-06","proceeding":null,"authors":["Yang Li","Haiyu Dong","Zuliang Fang","Jonathan Weyn","Pete Luferenko"],"abstract":"Accurate and timely rain prediction is crucial for decision making and is also a challenging task. This paper presents a solution which won the 2 nd prize in the Weather4cast 2022 NeurIPS competition using 3D U-Nets and EarthFormers for 8-hour probabilistic rain prediction based on multi-band satellite images. The spatial context effect of the input satellite image has been deeply explored and optimal context range has been found. Based on the imbalanced rain distribution, we trained multiple models with different loss functions. To further improve the model performance, multi-model ensemble and threshold optimization were used to produce the final probabilistic rain prediction. Experiment results and leaderboard scores demonstrate that optimal spatial context, combined loss function, multi-model ensemble, and threshold optimization all provide modest model gain. A permutation test was used to analyze the effect of each satellite band on rain prediction, and results show that satellite bands signifying cloudtop phase (8.7 um) and cloud-top height (10.8 and 13.4 um) are the best predictors for rain prediction. The source code is available at https://github.com/bugsuse/weather4cast-2022-stage2.","url_abs":"https://arxiv.org/abs/2212.02998v1","url_pdf":"https://arxiv.org/pdf/2212.02998v1.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":"super-resolution-probabilistic-rain","repo_url":"https://github.com/bugsuse/weather4cast-2022-stage2","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"decision-making","task_name":"Decision Making"},{"task_slug":"prediction","task_name":"Prediction"},{"task_slug":"super-resolution","task_name":"Super-Resolution"}],"methods":[{"method_slug":"test","method_name":"Test"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2212.02998","atlas_url":"https://app.syntology.ai/?focus=2212.02998","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2212.02998"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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":"deterministic:regex_extraction","url":"https://github.com/bugsuse/weather4cast-2022-stage2","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":15,"ran_fixture":3,"unverified":2},"by_repo_kind":{"official":{"samples":20,"ran":18,"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":"cef90636faea5cef","entry":"combine_metrics","repo":"bugsuse/weather4cast-2022-stage2","repo_kind":"official","path":"utils/evaluate.py","file_url":"https://github.com/bugsuse/weather4cast-2022-stage2/blob/HEAD/utils/evaluate.py","link_basis":"harvester_set","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":"cef90636faea5cef"}},{"code_sha256_prefix":"767ad1f13b2a971b","entry":"compute_cuboid_self_attention_mask","repo":"bugsuse/weather4cast-2022-stage2","repo_kind":"official","path":"models/cuboid_transformer.py","file_url":"https://github.com/bugsuse/weather4cast-2022-stage2/blob/HEAD/models/cuboid_transformer.py","link_basis":"harvester_set","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":"767ad1f13b2a971b"}},{"code_sha256_prefix":"bff27f9560afbd89","entry":"cuboid_reorder","repo":"bugsuse/weather4cast-2022-stage2","repo_kind":"official","path":"models/cuboid_transformer.py","file_url":"https://github.com/bugsuse/weather4cast-2022-stage2/blob/HEAD/models/cuboid_transformer.py","link_basis":"harvester_set","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":"bff27f9560afbd89"}},{"code_sha256_prefix":"84f8ab35b7d0471d","entry":"cuboid_reorder_reverse","repo":"bugsuse/weather4cast-2022-stage2","repo_kind":"official","path":"models/cuboid_transformer.py","file_url":"https://github.com/bugsuse/weather4cast-2022-stage2/blob/HEAD/models/cuboid_transformer.py","link_basis":"harvester_set","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":"84f8ab35b7d0471d"}},{"code_sha256_prefix":"a3015a205293148b","entry":"full_attention","repo":"bugsuse/weather4cast-2022-stage2","repo_kind":"official","path":"models/cuboid_transformer_patterns.py","file_url":"https://github.com/bugsuse/weather4cast-2022-stage2/blob/HEAD/models/cuboid_transformer_patterns.py","link_basis":"harvester_set","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":"a3015a205293148b"}},{"code_sha256_prefix":"8c21cdd91cd386e3","entry":"get_activation","repo":"bugsuse/weather4cast-2022-stage2","repo_kind":"official","path":"models/utils.py","file_url":"https://github.com/bugsuse/weather4cast-2022-stage2/blob/HEAD/models/utils.py","link_basis":"harvester_set","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":"8c21cdd91cd386e3"}},{"code_sha256_prefix":"90422cc65b7fc13e","entry":"get_confusion_matrix","repo":"bugsuse/weather4cast-2022-stage2","repo_kind":"official","path":"utils/evaluate.py","file_url":"https://github.com/bugsuse/weather4cast-2022-stage2/blob/HEAD/utils/evaluate.py","link_basis":"harvester_set","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":"90422cc65b7fc13e"}},{"code_sha256_prefix":"d473e9bce385040b","entry":"get_conv","repo":"bugsuse/weather4cast-2022-stage2","repo_kind":"official","path":"models/baseline_UNET3D.py","file_url":"https://github.com/bugsuse/weather4cast-2022-stage2/blob/HEAD/models/baseline_UNET3D.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d473e9bce385040b"}},{"code_sha256_prefix":"a3169a7b1435e0dc","entry":"get_convtranspose","repo":"bugsuse/weather4cast-2022-stage2","repo_kind":"official","path":"models/baseline_UNET3D.py","file_url":"https://github.com/bugsuse/weather4cast-2022-stage2/blob/HEAD/models/baseline_UNET3D.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a3169a7b1435e0dc"}},{"code_sha256_prefix":"d29a09d87d16a364","entry":"get_lossfx","repo":"bugsuse/weather4cast-2022-stage2","repo_kind":"official","path":"utils/losses.py","file_url":"https://github.com/bugsuse/weather4cast-2022-stage2/blob/HEAD/utils/losses.py","link_basis":"harvester_set","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":"d29a09d87d16a364"}},{"code_sha256_prefix":"a12e2f04ad60d321","entry":"get_maxpool","repo":"bugsuse/weather4cast-2022-stage2","repo_kind":"official","path":"models/baseline_UNET3D.py","file_url":"https://github.com/bugsuse/weather4cast-2022-stage2/blob/HEAD/models/baseline_UNET3D.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a12e2f04ad60d321"}},{"code_sha256_prefix":"50a5a499347fcf81","entry":"get_norm_layer","repo":"bugsuse/weather4cast-2022-stage2","repo_kind":"official","path":"models/utils.py","file_url":"https://github.com/bugsuse/weather4cast-2022-stage2/blob/HEAD/models/utils.py","link_basis":"harvester_set","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":"50a5a499347fcf81"}},{"code_sha256_prefix":"87b33d55144cd964","entry":"mask_evaluation","repo":"bugsuse/weather4cast-2022-stage2","repo_kind":"official","path":"utils/metrics.py","file_url":"https://github.com/bugsuse/weather4cast-2022-stage2/blob/HEAD/utils/metrics.py","link_basis":"harvester_set","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":"87b33d55144cd964"}},{"code_sha256_prefix":"88a2f37600b6e67d","entry":"read_samples_ids","repo":"bugsuse/weather4cast-2022-stage2","repo_kind":"official","path":"utils/data_utils.py","file_url":"https://github.com/bugsuse/weather4cast-2022-stage2/blob/HEAD/utils/data_utils.py","link_basis":"harvester_set","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":"88a2f37600b6e67d"}},{"code_sha256_prefix":"7c6985027e3143dc","entry":"recall_precision_f1_acc","repo":"bugsuse/weather4cast-2022-stage2","repo_kind":"official","path":"utils/evaluate.py","file_url":"https://github.com/bugsuse/weather4cast-2022-stage2/blob/HEAD/utils/evaluate.py","link_basis":"harvester_set","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":"7c6985027e3143dc"}},{"code_sha256_prefix":"50449b18203e5788","entry":"round_to","repo":"bugsuse/weather4cast-2022-stage2","repo_kind":"official","path":"models/utils.py","file_url":"https://github.com/bugsuse/weather4cast-2022-stage2/blob/HEAD/models/utils.py","link_basis":"harvester_set","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":"50449b18203e5788"}},{"code_sha256_prefix":"6bc7869a75f3e2db","entry":"self_axial","repo":"bugsuse/weather4cast-2022-stage2","repo_kind":"official","path":"models/cuboid_transformer_patterns.py","file_url":"https://github.com/bugsuse/weather4cast-2022-stage2/blob/HEAD/models/cuboid_transformer_patterns.py","link_basis":"harvester_set","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":"6bc7869a75f3e2db"}},{"code_sha256_prefix":"22d035b51d33b141","entry":"self_video_swin","repo":"bugsuse/weather4cast-2022-stage2","repo_kind":"official","path":"models/cuboid_transformer_patterns.py","file_url":"https://github.com/bugsuse/weather4cast-2022-stage2/blob/HEAD/models/cuboid_transformer_patterns.py","link_basis":"harvester_set","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":"22d035b51d33b141"}},{"code_sha256_prefix":"40d07fba28e6e44c","entry":"generate_and_cache_sequences","repo":"bugsuse/weather4cast-2022-stage2","repo_kind":"official","path":"utils/data_utils.py","file_url":"https://github.com/bugsuse/weather4cast-2022-stage2/blob/HEAD/utils/data_utils.py","link_basis":"harvester_set","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":"40d07fba28e6e44c"}},{"code_sha256_prefix":"2e0446710911b825","entry":"load_sample_ids","repo":"bugsuse/weather4cast-2022-stage2","repo_kind":"official","path":"utils/data_utils.py","file_url":"https://github.com/bugsuse/weather4cast-2022-stage2/blob/HEAD/utils/data_utils.py","link_basis":"harvester_set","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":"2e0446710911b825"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}