{"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/rain-reinforcement-algorithms-for-improving","title":"RAIN: Reinforcement Algorithms for Improving Numerical Weather and Climate Models","arxiv_id":"2408.16118","date":"2024-08-28","proceeding":null,"authors":["Pritthijit Nath","Henry Moss","Emily Shuckburgh","Mark Webb"],"abstract":"This study explores integrating reinforcement learning (RL) with idealised climate models to address key parameterisation challenges in climate science. Current climate models rely on complex mathematical parameterisations to represent sub-grid scale processes, which can introduce substantial uncertainties. RL offers capabilities to enhance these parameterisation schemes, including direct interaction, handling sparse or delayed feedback, continuous online learning, and long-term optimisation. We evaluate the performance of eight RL algorithms on two idealised environments: one for temperature bias correction, another for radiative-convective equilibrium (RCE) imitating real-world computational constraints. Results show different RL approaches excel in different climate scenarios with exploration algorithms performing better in bias correction, while exploitation algorithms proving more effective for RCE. These findings support the potential of RL-based parameterisation schemes to be integrated into global climate models, improving accuracy and efficiency in capturing complex climate dynamics. Overall, this work represents an important first step towards leveraging RL to enhance climate model accuracy, critical for improving climate understanding and predictions. Code accessible at https://github.com/p3jitnath/climate-rl.","url_abs":"https://arxiv.org/abs/2408.16118v3","url_pdf":"https://arxiv.org/pdf/2408.16118v3.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":"rain-reinforcement-algorithms-for-improving","repo_url":"https://github.com/p3jitnath/climate-rl","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}}],"tasks":[{"task_slug":"reinforcement-learning-1","task_name":"Reinforcement Learning (RL)"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2408.16118","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2408.16118"}},"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":"deterministic:regex_extraction","url":"https://github.com/p3jitnath/climate-rl","reach":{"status":"ok","spdx":"NOASSERTION"}}],"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":4,"samples":[{"code_sha256_prefix":"ff636fef7133f661","entry":"extract_version","repo":"p3jitnath/climate-rl","repo_kind":"official","path":"misc/generate_results-rce.py","file_url":"https://github.com/p3jitnath/climate-rl/blob/HEAD/misc/generate_results-rce.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ff636fef7133f661"}},{"code_sha256_prefix":"7ba3d302723e5ba4","entry":"get_actor","repo":"p3jitnath/climate-rl","repo_kind":"official","path":"rl-algos/inference.py","file_url":"https://github.com/p3jitnath/climate-rl/blob/HEAD/rl-algos/inference.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7ba3d302723e5ba4"}},{"code_sha256_prefix":"52fb74c5736c2569","entry":"get_agent","repo":"p3jitnath/climate-rl","repo_kind":"official","path":"rl-algos/inference.py","file_url":"https://github.com/p3jitnath/climate-rl/blob/HEAD/rl-algos/inference.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"52fb74c5736c2569"}},{"code_sha256_prefix":"68281ea09340fb2d","entry":"get_make_env","repo":"p3jitnath/climate-rl","repo_kind":"official","path":"rl-algos/inference.py","file_url":"https://github.com/p3jitnath/climate-rl/blob/HEAD/rl-algos/inference.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":"68281ea09340fb2d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}