{"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/neural-networks-for-post-processing-ensemble","title":"Neural networks for post-processing ensemble weather forecasts","arxiv_id":"1805.09091","date":"2018-05-23","proceeding":null,"authors":["Stephan Rasp","Sebastian Lerch"],"abstract":"Ensemble weather predictions require statistical post-processing of\nsystematic errors to obtain reliable and accurate probabilistic forecasts.\nTraditionally, this is accomplished with distributional regression models in\nwhich the parameters of a predictive distribution are estimated from a training\nperiod. We propose a flexible alternative based on neural networks that can\nincorporate nonlinear relationships between arbitrary predictor variables and\nforecast distribution parameters that are automatically learned in a\ndata-driven way rather than requiring pre-specified link functions. In a case\nstudy of 2-meter temperature forecasts at surface stations in Germany, the\nneural network approach significantly outperforms benchmark post-processing\nmethods while being computationally more affordable. Key components to this\nimprovement are the use of auxiliary predictor variables and station-specific\ninformation with the help of embeddings. Furthermore, the trained neural\nnetwork can be used to gain insight into the importance of meteorological\nvariables thereby challenging the notion of neural networks as uninterpretable\nblack boxes. Our approach can easily be extended to other statistical\npost-processing and forecasting problems. We anticipate that recent advances in\ndeep learning combined with the ever-increasing amounts of model and\nobservation data will transform the post-processing of numerical weather\nforecasts in the coming decade.","url_abs":"http://arxiv.org/abs/1805.09091v1","url_pdf":"http://arxiv.org/pdf/1805.09091v1.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":"neural-networks-for-post-processing-ensemble","repo_url":"https://github.com/slerch/ppnn","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1805.09091","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1805.09091"}},"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/slerch/ppnn","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":4},"by_repo_kind":{"official":{"samples":4,"ran":0,"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":"cf2f41050fb8500f","entry":"approx_crps_cat","repo":"slerch/ppnn","repo_kind":"official","path":"nn_postprocessing/nn_src/losses.py","file_url":"https://github.com/slerch/ppnn/blob/HEAD/nn_postprocessing/nn_src/losses.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cf2f41050fb8500f"}},{"code_sha256_prefix":"a4c9b81999fd6f89","entry":"crps_cost_function","repo":"slerch/ppnn","repo_kind":"official","path":"nn_postprocessing/nn_src/losses.py","file_url":"https://github.com/slerch/ppnn/blob/HEAD/nn_postprocessing/nn_src/losses.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a4c9b81999fd6f89"}},{"code_sha256_prefix":"bd2edbf0f1594b06","entry":"crps_cost_function_seq","repo":"slerch/ppnn","repo_kind":"official","path":"nn_postprocessing/nn_src/losses.py","file_url":"https://github.com/slerch/ppnn/blob/HEAD/nn_postprocessing/nn_src/losses.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bd2edbf0f1594b06"}},{"code_sha256_prefix":"d050d8b558aab83b","entry":"split_and_scale","repo":"slerch/ppnn","repo_kind":"official","path":"nn_postprocessing/nn_src/utils.py","file_url":"https://github.com/slerch/ppnn/blob/HEAD/nn_postprocessing/nn_src/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d050d8b558aab83b"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}